프로그래밍공부(Programming Study)/운영체제(OS)

[운영체제]1. 운영체제란

Chaany 2023. 3. 26.
728x90

운영체제란?

  • 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
  • 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
    • 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공
    • 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
  • 컴퓨터 시스템의 자원을 효율적으로 관리
    • CPU, 메모리, I/O 장치 등의 효율적 관리 
      • 주어진 자원으로 최대한의 성능을 내도록 -> 효율성 
      • 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 -> 형평성
    • 사용자 및 운영체제 자신의 보호

컴퓨터 시스템의 구조

  • CPU 작업공간 = 메모리
  • CPU는 I/O device와 소통하기 위해 I/O controller(작은 CPU 개념)와 통신
  • CPU 스케줄링 : 어떤 프로그램에게 CPU 사용권을 줄까?
    • 하드웨어와 협조
  • 메모리관리 : 한정된 메모리를 어떻게 쪼개어 쓰지?
  • 디스크 스케줄링 : 디스크에 들어온 요청을 어떤 순서로 처리할까?
    • 디스크는 CPU의 백 만배 정도 느림
    • 메모리는 CPU의 백 배 정도 느림
    • 엘리베이터 스케줄링과 동일함
  • 인터럽트, 캐싱 : 빠른 CPU와 느린 I/O 장치간 속도차를 어떻게 극복하지?

프로세스의 상태

출처 : kocw 이화여자대학교 반효경 교수님의 운영체제 강의

728x90

댓글