1. Summary
- 컴퓨터 시스템(Computer System): 응용소프트웨어 층(Application Software Layer), 운영체제 층(Operating System Layer), 하드웨어 층(Hardware Layer)으로 구성
- Computer Hardware
- CPU, Memory, Cache, I/O Device, Bus, I/O Controller & Control Circuit 등으로 구성
- CPU의 처리 능력 = Computer의 처리 능력
- CPU instruction
- CPU가 해석하고 실행할 수 있는 Machine Instructions
- CPU를 설계하는 기업이 CPU를 설계할 때 결정
- 해당 내용은 출처에서 밝히고 있는 ‘명품 운영체제’의 내용을 정리한 것입니다.
- 오류가 있을 수 있습니다.
2. Computer System and Operating System
2-1. Computer System
- 컴퓨터 시스템(Computer System)
- 응용소프트웨어 층(Application Software Layer), 운영체제 층(Operating System Layer), 하드웨어 층(Hardware Layer)으로 구성
- User는 응용 프로그램이나 운영체제 패키지에 포함된 GUI & 도구 프로그램(Tool / Utility)을 통해 컴퓨터를 사용
- HW들은 모두 OS의 배타적이고 독점적인 지배를 받음
- 어떤 user나 application도 직접 HW에 접근할 수 없음 -> 반드시 OS를 통해서만 Access
2-2. Computer Hardware

- CPU(Central Processing Unit)
- CPU: Program code(machine instructions)를 실행하는 중앙처리장치
- 전원이 공급될 때 작동 시작하여 메모리에 적재된 프로그램을 실행
- Memory
- CPU에 의해 실행되는 program code와 data가 적재되는 공간 -> program이 실행되기 위해서는 반드시 memory에 적재되어야 함
- 반도체 메모리 RAM이 사용됨
- Cache Memory
- 느린 Memory(HDD, CD-ROM)에서 Data를 가져오는 시간을 줄이기 위해 사용
- CPU와 Memory 사이에 있는 빠른 Memory(가격이 비싸므로 소량만 사용)
- Device
- I/O Device: Keyboard, Mouse, Display, Printer 등
- Storage Device: HDD, CD-ROM, USB 등
- Bus
- CPU, Cache, Memory, I/O Device 등 모든 장치가 연결되어 있는 공통 전선
- Address Bus: Address signal을 전달하는 전선
- Data Bus: Data signal을 전달하는 전선
- Control Bus: Control signal을 전달하는 전선
- System Bus & I/O Bus
- System Bus: CPU, Cache, Memory 등 빠르게 작동하는 Hardware 간 signal을 전달
- I/O Bus: 위 장치들에 비해 느린 I/O Device로부터 I/O Data를 전달
- I/O Controller & Control Circuit
- I/O Device에게 명령 내리고 Memory와 I/O Device 사이 혹은 CPU와 I/O Device 사이 통신을 중계
- DMAC(Direct Memory Access Controller): Memory와 I/O Device 사이 통신을 CPU 개입 없이 중계
- INTC(Interrupt Controller): 외부 장치에서 발생한 인터럽트(Interrupt)를 CPU에게 전달
2-3. CPU & Memory
- CPU의 처리 능력 = Computer의 처리 능력
- 32bit CPU: 32개의 Address Bus
- 32bit CPU의 Access Range: $ 2^{32} $ 개의 서로 다른 주소, $ 0 ~ 2^{32} - 1 $ 번지
- 한 번지의 크기는 1Byte 이므로 32bit CPU가 Access 가능한 Memory의 최대 Range는 4GB($ 2^{32} \times 1Byte = 4GB $)이다.

2-4. CPU Machine Instructions
- CPU instruction: CPU가 해석하고 실행할 수 있는 Machine Instructions
- CPU를 설계하는 기업이 CPU를 설계할 때 결정
- CPU에 따라 명령 개수 및 형태가 다르고 명령 개수는 보통 수십 개에서 수백 개 정도(250여개 정도)이다.
- 예시
mov ecx, 51
(Assmebly) -> ; b9 33 00 00 00
(Machine Instruction) -> ecx 레지스터에 51 저장
add eax, 8
(Assmebly) -> ; 83 c4 08
(Machine Instruction) -> eax 레지스터에 8 더하기
push ebp
(Assmebly) -> ; 55
(Machine Instruction) -> ebp 레지스터의 값을 스택에 저장
call _printf
(Assmebly) -> ; e8 00 00 00 00
(Machine Instruction) -> _printf 함수 호출
ret 0
(Assmebly) -> ; c3
(Machine Instruction) -> 함수를 끝내고 호출한 곳으로 리턴(리턴값 0)
출처
- 명품 운영체제, 황기태(ISBN: 978-89-7050-5251) - 책
댓글남기기