운영체제(Operating System)
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로, 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 역할을 합니다. 소프트웨어가 컴퓨터 시스템에서 실행되기 위해서는 메모리에 올라가 있어야 하며, 운영체제 자체도 하나의 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라갑니다.
Kernel(커널)
커널은 메모리에 상주하는 운영체제의 부분으로, 운영체제 코드 중에서도 핵심적인 부분을 뜻합니다.
운영체제의 기능
하드웨어를 위한 역할
사용자가 직접 다루기 힘든 각종 하드웨어를 관리하며, 컴퓨터 시스템 내의 자원을 효율적으로 관리합니다.
사용자를 위한 역할
편리한 인터페이스를 제공하여 컴퓨터 시스템을 쉽게 사용할 수 있는 환경을 제공합니다.
주요 구성 요소
Processor(CPU)
CPU는 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛으로, 중앙처리장치(Central Processing Unit)라고도 합니다. 폰 노이만 아키텍처에 의해 만들어진 CPU는 최소 하나 이상의 ALU(Arithmetic Logic Unit)와 처리 레지스터(Register)를 내장하고 있습니다. CPU는 메인 메모리와 프로세서 자체에 내장된 레지스터에만 직접 접근할 수 있습니다.
Process
메모리에 적재되어 프로세서에 의해 실행 중인 프로그램을 의미합니다.
Main Memory(RAM)
RAM은 주기억장치(Random Access Memory)로, 컴퓨터의 CPU가 현재 처리 중인 데이터나 명령어를 일시적으로 저장하는 휘발성 메모리입니다. 전원이 꺼지면 메모리에 저장된 모든 내용은 사라지므로, 데이터를 영구적으로 저장하려면 하드 디스크에 저장해야 합니다.
Register
레지스터는 CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치입니다. CPU와 직접 연결되어 있으므로 연산 속도가 메모리보다 훨씬 빠릅니다.
I/O Modules
입출력 모듈은 보조기억장치, 통신 장비, 단말기 등을 포함합니다.
System Bus
프로세서, 메모리, I/O 모듈 간의 통신을 담당합니다.
프로그램 실행 과정
- 사용자가 프로그램을 실행합니다.
- 프로그램이 메모리(RAM)에 적재되고 CPU의 명령주소 레지스터(IP)에 저장됩니다.
- CPU는 IP 레지스터가 가리키는 주소에서 명령어를 인출하여 명령 레지스터(IR)에 저장합니다.
- 명령어를 실행하고 IP에 다음 명령어의 주소를 저장합니다.
- 3~4 과정을 반복하여 프로그램을 실행합니다.
CPU 전용 레지스터
AC(Accumulator, 누산기)
데이터를 일시 저장하며, 기억장치로부터 읽어온 데이터와 연산 후 결과 값을 다시 누산기에 적재합니다.
PC(Program Counter)
다음에 실행할 명령어의 주소를 저장합니다.
IR(Instruction Register)
현재 실행 중인 명령어를 저장합니다.
MAR(Memory Address Register)
다음에 수행될 명령어를 인출하기 위해 주소를 일시적으로 저장합니다.
MBR(Memory Buffer Register)
레지스터와 외부 장치 사이에서 데이터를 전송합니다.
명령어 종류
- Processor-memory data transfer: 메모리에서 CPU로 데이터 전송
- Processor-I/O data transfer: CPU와 입출력 장치 간의 데이터 전송
- Data processing: 산술 연산 및 논리 연산
- Control: 제어 명령어, 예를 들어 jump 명령어
기본 명령어 사이클
- Fetch Stage: 메모리에서 명령어를 가져옵니다.
- Execute Stage: 명령어를 분석하고 실행합니다.
제어 및 상태 레지스터
PC
다음에 실행할 명령어의 주소를 저장합니다.
IR
현재 실행 중인 명령어를 저장합니다.
PSW(Program Status Word)
CPU의 현재 상태 정보를 저장합니다. 이 레지스터는 상태 코드, 인터럽트 활성화 여부, 슈퍼바이저/사용자 모드 등의 정보를 저장합니다.
PSW의 주요 역할
- Condition Codes: 상태 코드로 점프할지 말지 결정합니다.
- Interrupt Enable/Disable: 인터럽트 활성화 여부를 저장합니다.
- Supervisor/User Mode: 시스템 모드와 사용자 모드를 구분합니다.
이 모든 구성 요소와 동작 원리는 컴퓨터 시스템의 효율적이고 안정적인 운영을 가능하게 합니다. 운영체제는 사용자와 하드웨어 간의 다리 역할을 하며, 이를 통해 사용자는 복잡한 하드웨어를 쉽게 제어하고 사용할 수 있습니다.
'운영체제' 카테고리의 다른 글
운영체제 Chapter3 3-2 Process (0) | 2024.06.25 |
---|---|
운영체제 Chapter2 2-2 (0) | 2024.06.23 |
운영체제 Chapter2 2-1 (0) | 2024.06.23 |
운영체제 chapter1 - 2-2 (0) | 2024.06.22 |
운영체제 chapter1 - 2주차 (0) | 2024.06.22 |