GitHub

https://github.com/Choidongjun0830

CS

3.1 운영체제와 컴퓨터

gogi masidda 2024. 9. 12. 16:48

'면접을 위한 CS 전공지식 노트' 책을 보며 공부한 내용입니다.

 

OS는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다.

 

운영체제의 역할 4가지

  1. CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에게 할당할지, 프로세스의 생성과 삭제, 자원할당 및 반환 관리
  2. 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼만큼 할당할지를 관리한다. 
  3. 디스크 파일 관리: 디스크 파일을 어떤 방법으로 보관할지 관리한다.
  4. I/O 디바이스 관리: I/O 디바이스들인 마우스, 키보드 등과 컴퓨터 사이에서 데이터를 주고받는 것 관리

시스템 콜

  • 운영체제가 커널에 접근하기 위한 인터페이스이며, 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용한다. 
  • 예시
    • 유저 프로그램이 I/O 요청으로 trap을 발동하면, 올바른 I/O 요청인지 확인 후에 유저 모드가 시스템 콜을 통해 커널 모드로 변환되어 실행된다.
    • => I/O 요청인 fs.readFile() 호출 -> 유저 모드에서 파일을 읽는게 아니라, 커널 모드에 들어가서 파일을 읽고, 다시 유저 모드로 돌아가 이후의 로직을 수행한다. 
    • 이를 통해 컴퓨터 자원에 대한 직접 접근을 차단하고 다른 프로그램으로부터 보호할 수 있다.
  • 프로세스나 쓰레드가 OS에 요청을 할 때, 시스템 콜이라는 인터페이스와 커널을 거쳐 OS에 전달된다. 

modebit: 유저 모드와 커널 모드를 구분한다. 0은 커널 모드, 1은 유저 모드이다. 

 

컴퓨터의 요소

  • CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어짐

CPU

  • 산술 논리 연산 장치(ALU), 제어 장치, 레지스터로 구성됨.
  • 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행한다.
  • 프로그램이 메모리에 오르면 프로세스 => 프로세스가 되면 CPU가 처리한다.
  • 제어 장치: 프로세스 조작을 지시한다. 입출력 장치 간 통신을 제어하고, 명령어들을 읽고, 해석하며 데이터 처리를 위한 순서를 결정한다.
  • 레지스터: CPU에 있는 매우 빠른 임시 기억 장치
  • CPU의 연산 처리
    • 1. 제어 장치가 메모리와 레지스터에 계산할 값을 로드
    • 2. 제어 장치가 레지스터에 있는 값을 계산하라고 ALU에 명령
    • 3. 제어 장치가 계산된 값을 다시 레지스터에서 메모리로 저장

인터럽트

  • 어떤 신호가 들어왔을 때, CPU를 잠깐 정지시키는 것
  • I/O에 의한 인터럽트, 0으로 숫자를 나누는 연산에서 인터럽트, 프로세스 오류 등으로 인해 발생하는 인터럽트 등이 있다.
  • 인터럽트가 발생하면, 인터럽트 핸들러 함수가 실행된다.
  • 인터럽트는 우선 순위가 있고, 우선 순위에 따라 실행된다.
  • 하드웨어 인터럽트: 키보드를 연결하거나, 마우스를 연결하는 일 등의 I/O 디바이스에서 발생하는 인터럽트를 말한다. 
  • 소프트웨어 인터럽트: 트랩(trap)이라고도 한다. 프로세스 오류 등으로 프로세스가 시스템 콜을 호출할 때 발동된다.

DMA 컨트롤러: I/O 디바이스가 메모리에 직접 접근할 수 있도록 한다. CPU의 부하를 막아주고, CPU의 일을 보조한다. 또한, DMA 컨트롤러와 CPU가 하나의 작업을 동시에 하지 않도록 해준다.

메모리: RAM이라고 생각하면 된다. 

타이머: 특정 프로그램에 시간 제한을 달아두는 것이다.

디바이스 컨트롤러: I/O 디바이스들의 작은 CPU이다. 옆에 붙어 있는 로컬 버퍼는 각 디바이스에서 데이터를 임시로 저장하기 위한 작은 메모리이다. 

728x90

'CS' 카테고리의 다른 글

3.3 프로세스와 쓰레드  (1) 2024.09.17
3.2 메모리  (4) 2024.09.15
2.5 HTTP  (1) 2024.09.07
2.4 IP 주소  (0) 2024.09.06
2.3 네트워크 기기  (0) 2024.09.06