SW개발/면접을 위한 CS 전공지식 노트

3.1 운영체제와 컴퓨터

코코도롱 2025. 1. 15. 00:10
반응형

3.1.1 운영체제의 역할과 구조

운영체제의 역할

- CPU 스케줄링과 프로세스 관리 : 프로세스의 생성, 삭제, 자원 할당(CPU 소유권을 어떤 프로세스에서 할당), 자원 반환

- 메모리 관리 : 한정된 메모리를 프로세스에 맞춰 얼마만큼 할당해야하는지 관리

- 디스크 파일 관리 : 디스크 파일을 어떤 방법으로 보관할지 관리

- I/O 디바이스 관리 : 입출력-HW 간의 데이터 입출력 관리

운영체제의 구조

 

시스템콜

운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스

 

Modebit

시스템콜이 작동할 때 유저모드와 커널모드로 구분하는 플레그. 카메라, 키보드등 I/O디바이스를 운영체제를 통해서만(커널모드) 사용할 수 있게 하여 해킹으로 부터 사용자 장비를 보호

유저모드 : 유저가 접근할 수 있는 영역에 제한을 주어 컴퓨터자원에 함부러 침범하지 못하게 하는 모드

커널모드 : 컴퓨터의 모든 자원에 접근할 수 있는 모드

 

3.1.2 컴퓨터의 요소

컴퓨터 시스템 구조

 

CPU

컴퓨터의 두뇌 역할, 명령을 실행하고 데이터를 처리

 

1. 제어 장치(Control Unit)

  • CPU 내부에서 모든 작업의 흐름을 제어하는 역할을 합니다.
  • 명령어를 해석하고, 각 구성 요소에 작업을 분배하며, 실행 순서를 관리합니다.
  • 프로그램 카운터(Program Counter, PC)를 사용하여 다음에 실행할 명령어를 추적합니다.

2. 레지스터(Register)

  • 데이터를 임시로 저장하는 고속의 저장 공간입니다.
  • 주요 레지스터 종류:
    • 누산기(Accumulator): 연산 결과를 임시 저장.
    • 프로그램 카운터(Program Counter, PC): 다음 실행할 명령어의 주소를 저장.
    • 명령어 레지스터(Instruction Register, IR): 현재 실행 중인 명령어를 저장.
    • 스택 포인터(Stack Pointer, SP): 스택 구조를 관리.
    • 플래그 레지스터(Flags Register): 연산 결과 상태를 나타내는 플래그를 저장.

3. 산술논리연산장치(ALU)

  • 데이터의 산술 연산(덧셈, 뺄셈, 곱셈 등)과 논리 연산(AND, OR, XOR 등)을 처리합니다.
  • 제어 장치의 명령에 따라 입력 데이터를 처리한 후, 결과를 레지스터나 메모리에 저장합니다.

DMA 컨트롤러

Direct Memory Access(DMA)는 CPU의 개입 없이 메모리와 입출력 장치 간에 데이터를 직접 전송하도록 하는 장치

  • CPU의 작업 부하를 줄이고 데이터 전송 속도를 높이는 데 기여
  • 동작 과정:
    1. CPU가 DMA 컨트롤러에 데이터 전송 요청을 전달.
    2. DMA 컨트롤러가 데이터 전송을 완료한 후 CPU에 완료 신호를 보냄.

메모리

컴퓨터에서 데이터를 저장하고 관리하는 장치

 

1. 주기억장치(Main Memory)

  • RAM(Random Access Memory): 휘발성 메모리로, 실행 중인 데이터와 프로그램을 저장.
  • ROM(Read-Only Memory): 비휘발성 메모리로, 부팅 시 필요한 펌웨어 저장.

2. 캐시 메모리(Cache Memory)

  • CPU와 메인 메모리 사이에 위치하여 데이터를 더 빠르게 접근할 수 있도록 지원.

3. 보조기억장치(Secondary Storage)

  • HDD, SSD 등 대용량 데이터 저장용 장치.

타이머

컴퓨터 시스템에서 시간을 측정하거나 특정 작업을 일정 간격으로 실행하기 위해 사용되는 장치

  • 하드웨어 타이머: 실제 하드웨어 기반 타이머로, 주기적인 인터럽트를 생성.
  • 용도:
    • 프로세스 스케줄링.
    • 타임아웃 제어.
    • 주기적 작업 수행.

디바이스 컨트롤러

입출력 장치를 제어하고 관리하는 하드웨어 장치

 

구성 요소:

    • 버퍼(Buffer): 데이터 전송을 위한 임시 저장 공간.
    • 상태 레지스터(Status Register): 입출력 장치의 상태 정보를 저장.
    • 제어 레지스터(Control Register): 입출력 장치 제어를 위한 명령 저장.
  • 역할:
    • 입출력 요청 처리.
    • 장치 간 데이터 전송 관리.
반응형