본문 바로가기
CS/운영체제

Chapter 1. 운영체제의 개요

by ulmu 2025. 2. 1.
  • 운영체제: 컴퓨터 하드웨어 바로 위 설치
  • 운영체제의 구성(요소)/알고리즘의 핵심 부분/역할

 

운영체제(Operating System)란?

  • 컴퓨터 하드웨어 정보 몰라도 쉽게 사용
  • 컴퓨터 시스템 자원 효율 관리(메모리/하드웨어 관리) ⭐
  • (과거) 1프로그램:1컴퓨터 → (현재) 여러 프로그램:1컴퓨터
  • 여러 프로그램 ← Proxy(운영체제) → 컴퓨터(하드웨어)

 

컴퓨터 시스템 자원 효율 관리하는 운영체제

  • 리소스(CPU/메모리/IO장치) 효율 분배
  • 1GB = 2^30 → 초당 10억번 CPU의 클락
  • 클락: CPU가 동작하는 기준이 되는 시간 신호(a.k.a컴퓨터가 일하는 리듬)/for 명령어 실행과 데이터 처리
  • 초당 CPU가 기계어를 10억개씩 처리한다.
  • 메모리는 CPU의 작업 공간

 

컴퓨터 시스템의 구조

  • 컴퓨터 부팅: 운영체제가 메모리 위에 올라가서 실행이 된다.
  • 운영체제 중 핵심적인 부분 “커널”
  • CPU의 작업 공간은 메모리
  • CPU는 매 클락마다 메모리 어딘가에 있는 기계어 읽어서 연산 → 읽는 메모리 위치에 따라 어느 프로그램이 실행되는지 알 수 있음
  • IF 프로그램 중 디스크 내용 읽어서 실행해야하는 경우가 있다
    • CPU가 직접 외부장치 접근X
    • I/O디바이스는 I/O디바이스 전담하는 작은 CPU붙어있음(I/O controller)
    • CPU: 야 I/O controller야. 좀 읽어와주라 네가! → 메모리에 올라온 걸 가져다가 올려놓음

 

운영체제의 기능

  • CPU 스케줄링(어떤 프로그램에게 CPU 사용권 줄까?)
  • 메모리 관리
  • 디스크 스케줄링
    • 사실 대단히 느린 장치
    • 순서대로 처리하는 건 사실 굉장히 비효율적(a.k.a. 엘리베이터 스케줄링)
  • 인터럽트, 캐싱(for 빠른 CPU와 느린 I/O장치 간 속도차를 극복)
    • 캐싱: 동일한 파일 읽기 요청시, 2번 시도 → 비효율적
    • 인터럽트: A프로그램이 긴 I/O작업 → CPU는 B프로그램 실행 → A프로그램 완료 → CPU의 인터럽트(가로채기)
    • CPU는 매 기계어 실행 후, 인터럽트 체크를 한다.

 

프로세스의 상태

  • 사람이 키보드 두드림 → Interrupt 발생 → CPU가 운영체제에게 넘어감 → 운영체제는 키보드에 입력된 데이터를 메모리에 카피 → 모니터에 두드린 데이터가 들어갈 수 있게 동작
  • I/O작업없이, CPU만 굉장히 오래 쓰는 Science Application 작업도 있다.

댓글