본문 바로가기
Boaz/Computer Science

[CS 전공지식 #8] 챕터3-1. 운영체제와 컴퓨터

by 남디윤 2025. 2. 17.

 

목차

1. 운영체제와 컴퓨터

3.1.1 운영체제의 역할과 구조

3.1.2 컴퓨터의 요소

 

 

챕터3. 운영체제

  • 운영체제(OS, Operating System): 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스
  • 한정된 메모리나 시스템 자원을 효율적으로 분배
    • cf) 펌웨어 firmware: 운영체제와 유사, 소프트웨어 추가 설치 불가

 

1. 운영체제와 컴퓨터

  • 하드웨어, 소프트웨어(유저 프로그램) 관리하는 운영체제, CPU, 메모리 등

 

3.1.1 운영체제의 역할과 구조

  • 운영체제의 역할 4가지
    • CPU 스케줄링과 프로세스 관리
    • 메모리 관리
    • 디스크 파일 관리
    • I/O 디바이스 관리
  • 운영체제의 구조
    • 유저 프로그램 → GUI → 시스템콜 → 커널 → 드라이버 → 하드웨어
      • 운영체제: GUI, 시스템콜, 커널, 드라이버 부분
      • GUI 없고 CUI 만 있는 리눅스 서버도 있음
  • 시스템콜
    • 운영체제가 커널에 접근하기 위한 인터페이스
    • 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용
      • 유저 프로그램이 I/O 요청으로 트랩 발동
      • 올바른 I/O 요청인지 확인
        • I/O 요청: 입출력 함수, 데이터베이스, 네트워크, 파일 접근 등에 관한 일
      • 유저 모드가 시스템콜을 통해 커널 모드로 변환되어 실행
    • 이 과정을 통해 컴퓨터 자원에 대한 직접 접근 차단, 프로그램을 다른 프로그램으로부터 보호 가능
    • 하나의 추상화 계층 → 낮은 단계의 영역 처리(네트워크 통신, 데이터베이스) 신경 쓰지 않고 프로그램 구현 가능

Image

  • modebit
    • 시스템콜 작동 시, modebit 참고하여 유저 모드와 커널 모드 구분
    • 1 또는 0의 값을 가지는 플래그 변수

 

3.1.2 컴퓨터의 요소

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

Image

  • CPU (Central Processing Unit):
    • 산술논리연산장치, 제어장치, 레지스터리로 구성되어 있는 컴퓨터 장치
    • 인터럽트에 의해 단순히 메모리에 존재하는 명령어 해석해서 실행하는 일꾼
    • 운영체제(관리자 역할) → 커널 → 프로그램을 메모리에 올림 = 프로세스 → CPU(일꾼) 처리
  • 제어장치 (CU, Control Unit)
    • 프로세스 조작을 지시하는 CPU의 한 부품
    • 입출력장치 간 통신을 제어, 명령어들을 읽고 해석, 데이터 처리를 위한 순서 결정
  • 레지스터
    • CPU 안에 있는 매우 빠른 임시기억장치
    • CPU와 직접 연결, 연산 속도가 메모리보다 수십 배~수백 배 빠름
    • CPU는 자체적으로 데이터 저장 불가 → 레지스터를 거쳐 데이터 전달
  • 산술논리연산장치
    • 산술 연산, 논리연산을 계산하는 디지털 회로
  • CPU의 연산처리

Image

  • 인터럽트
    • 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것
    • IO 디바이스(키보드, 마우스)로 인한 인터럽트, 0으로 숫자 나누는 산술 연산으로 인한 인터럽트, 프로세스 오류 등으로 발생
    • 인터럽트 발생 → 인터럽트 벡터로 가서 인터럽트 핸들러 함수 실행
    • 인터럽트 간에는 우선순위 존재, 우선순위에 따라 실행
    • 인터럽트는 하드웨어 인터럽트, 소프트웨어 인터럽트 두 가지로 나뉨
      • 하드웨어 인터럽트:
        • 키보드를 연결한다거나 마우스를 연결하는 일 등의 IO 디바이스에서 발생하는 인터럽트
        • 인터럽트 실행 중지 → 운영체제에 시스템콜 요청 → 디바이스에 있는 작은 로컬 버퍼 접근하여 일을 수행
      • 소프트웨어 인터럽트:
        • 트랩 trap 이라고도 함
        • 프로세스 오류 등으로 프로세스가 시스템 콜을 호출할 때 발동
  • DMA 컨트롤러
    • I/O 디바이스가 메모리에 직접 접근할 수 있도록 하는 하드웨어 장치
    • CPU에만 너무 많은 인터럽트 요청 → CPU 부하 방지, CPU 의 일을 부담하는 보조 일꾼
    • 하나의 작업을 CPU와 DMA 컨트롤러가 동시에 하는 것 방지
  • 메모리
    • 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치
    • RAM(Random Access Memory)을 일컬어 메모리라고도 함
    • CPU는 계산 담당, 메모리는 기억 담당
    • 공장 비유) CPU는 일꾼, 메모리는 작업장 (작업장이 클수록 창고에 물건 많이 가져다놓고 많은 일 가능 = 메모리 클수록 많은 일 동시에 가능)
  • 타이머
    • 몇 초 안에 작업이 끝나야 한다는 것을 정하고 특정 프로그램에 시간 제한을 다는 역할
    • 시간이 많이 걸리는 프로그램이 작동할 때 제한 걸기 위해 존재
  • 디바이스 컨트롤러
    • 컴퓨터와 연결되어 있는 IO 디바이스들의 작은 CPU
    • 옆에 붙어 있는 로컬 버퍼: 각 디바이스에서 데이터를 임시로 저장하기 위한 작은 메모리를 뜻함