1. 프로세서 모드(Processor Mode)란?
- 프로세서의 권한 수준(privilege level)을 설정하는 개념으로, 실행할 수 있는 명령어의 종류를 제한함.
- 일반적으로 상태 레지스터(status register) 에 모드 비트(mode bit) 를 사용하여 현재 프로세서 모드를 나타냄.
(모드 비트가 0이면 커널 모드, 1이면 사용자 모드) - 프로세서의 특수 명령어를 통해 모드 비트를 변경할 수 있음(커널모드에서만 특수 명령어 사용 가능!!)
1) 프로세서 모드의 종류
① 사용자 모드(User Mode)
- 일반 응용 프로그램이 실행될 때 사용됨.
- 제한된 명령어만 실행 가능 (예: I/O 접근, 특정 메모리 접근 불가).
- 데이터 처리 명령어, 데이터 이동 명령어, 실행 제어 명령어만 실행 가능 - 운영체제(OS)의 중요한 기능에 접근 불가능 (시스템 보호 목적).
- 시스템 콜(System Call)을 통해 커널 모드로 전환 가능.
② 커널 모드(Kernel Mode, Supervisor Mode, Privilege Mode)
- 운영체제(OS)와 같은 중요한 소프트웨어가 실행될 때 사용됨.
- 모든 명령어 실행 가능 (I/O 명령어, 메모리 관리 명령어 등).
- 사용자 모드의 명령어 + 특수 명령어(프로세스 모드 변경, 입출력 명령어) 실행 가능 - 하드웨어 리소스 직접 접근 가능.
- 사용자 모드에서 시스템 콜을 실행하면 커널 모드로 전환됨.
2) 프로세서 모드를 사용하는 이유
- 운영체제 보호
- 사용자 프로그램이 운영체제의 중요한 데이터 및 코드 영역을 변경하는 것을 방지.
- 예를 들어, 사용자가 임의로 시스템 메모리를 수정하지 못하도록 보호.
- 안전한 시스템 운영
- 시스템이 악성 코드나 오류로 인해 중요한 명령어를 실행하여 시스템을 손상시키는 것을 방지.
- 예를 들어, 사용자가 커널 모드에서 직접 I/O 장치를 제어하면 시스템 충돌(크래시) 이 발생할 수 있음.
- 프로세스 간 격리
- 한 사용자 프로그램이 다른 프로그램의 데이터를 변경하지 못하도록 방지.
- 프로세스 간 메모리 보호가 가능함.
**즉, 응용 프로그램이 실행될 때는 사용자 모드, 운영체제가 실행될 때는 커널 모드로 설정함!**
2. 메모리(Memory) 란?
- 데이터를 저장하는 공간으로 크게 휘발성 메모리와 비휘발성 메모리로 나뉨

1) 휘발성 메모리
전원이 켜져있는 경우에만 데이터를 유지함! 전원이 꺼지면 데이터가 삭제됨!
대표적으로 RAM(Random Access Memory), SRAM(Static Ram), DRAM(Dynamic RAM) 등이 있음
1. RAM(Random Access Memory)
- 데이터를 임의의 위치에서 읽고 쓸 수 있는 메모리로 SRAM과 DRAM으로 나뉜다.
- 예시: 시스템 메모리, 캐시
2. SRAM(Static Ram)
- 정적 RAM, 데이터 유지에 재충전 필요 없음
- 일반 RAM에 비해 빠르지만, 가격이 비쌈
- 예시: CPU 캐시 (L1, L2, L3), 레지스터
3. DRAM(Dynamic RAM)
- 동적 RAM, 데이터 유지 위해 주기적 재충전 필요
- 가격이 저렴하지만 RAM에 비해 속도가 느림. 대용량의 메모리를 처리하는데 사용
- 예시: 메인 메모리 (DDR4, DDR5 등)
2) 비휘발성 메모리
전원이 켜져있는 경우에만 데이터를 유지함! 전원이 꺼지면 데이터가 삭제됨!
대표적으로 ROM(Read Only Memory), Mask ROM, PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically Erasable PROM) 등이 있음
1. ROM(Read Only Memory)
- 비휘발성 메모리로, 전원이 꺼져도 데이터가 유지됨.
- 기본적으로 읽기 전용이며, 일부 종류는 한 번 또는 여러 번 프로그래밍 가능.
- 예시: 운영체제 부팅, 펌웨어 저장
2. Mask ROM
- 제조 과정에서 데이터가 미리 저장된 ROM.
- 사용자가 데이터를 변경할 수 없음 (읽기 전용).
- 예시: 펌웨어, 고정된 시스템 프로그램 저장
특징
- 데이터 변경 불가능!!
- 대량 생산에 적합 (제조 비용 절감)
3. PROM(Programmable ROM)
- 사용자가 한 번만 데이터를 프로그래밍(기록)할 수 있는 ROM.
- 데이터를 한 번 기록하면 수정이 불가능.
- 예시: 특정 애플리케이션용 ROM을 생성
특징
- 공장 출하 후 사용자가 한 번만 데이터를 기록 가능.
- 데이터 변경 불가능 → 오류 시 폐기 필요.
- 일회성 데이터 저장용 (예: 컨트롤러, 산업용 시스템).
4. EPROM(Erasable PROM)
- 자외선(UV)으로 데이터를 삭제하고 다시 프로그래밍할 수 있는 ROM.
- 데이터를 지우려면 특수한 UV 램프 사용이 필요함.
- 예시: 재사용 가능한 ROM으로 실험 및 개발에 사용
특징
- UV 램프로 데이터 삭제 가능.
- 일반적으로 투명한 창이 있음 (UV 조사를 위해).
- 반복 프로그래밍 가능하지만, 삭제 과정이 번거로움.
- 그렇다고 무한정 삭제할 수 있는 것이 아닌, 몇 번으로 정해져있음.
5. EEPROM(Electrically Erasable PROM)
- 전기적 신호를 이용해 데이터를 삭제하고 다시 프로그래밍할 수 있는 ROM.
- EPROM과 달리 특수한 UV 장비 없이도 삭제 가능.
- 예시: 플래시 메모리의 전신으로, 소규모 데이터 저장에 사용
특징
- 전기적으로 데이터 삭제 및 재기록 가능.
- EPROM보다 빠르고 편리.
- 자주 변경되는 펌웨어, 설정 데이터 저장용.
'OS' 카테고리의 다른 글
| [운영체제] 사용자 인터페이스와 운영체제 (0) | 2025.03.24 |
|---|---|
| [운영체제] 시스템 호출(System Call)과 운영체제 (0) | 2025.03.19 |
| [운영체제] 저장장치(Storage) 란? 캐싱(Cashng) 이란? 인터럽트(Interrupt) 란? (0) | 2025.03.17 |
| [운영체제] 프로세서(Processor) 란? (0) | 2025.03.10 |
| [운영체제] 운영체제(OS, Operating System)란? (0) | 2025.03.10 |