2 분 소요

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

Computer Structure

  • 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을 전달하는 전선
      • Address: Register의 번지 수
    • 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 $)이다. Computer Structure

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)

출처

  1. 명품 운영체제, 황기태(ISBN: 978-89-7050-5251) - 책

댓글남기기