sw사관학교정글/OS 개념정리

[week08] KOCW 운영체제(반효경교수님) - 강의소개

D cron 2021. 12. 30. 15:15

강의소개

내가 운영체제라면 하드웨어를 어떻게 관리할까? 운영체제 입장이 되어서 수업을 듣자.

운영체제란 무엇인가

하드웨어 바로 위에 설치되는 소프트웨어

사용자가 직접 하드웨어에 접근하지 않으면서 컴퓨터를 편리하게 제어할 수 있게 한다.



좁은 의미의 운영체제(커널)


  • 운영체제의 핵심 부분으로 메모리에 상주하는 부분

넓은 의미의 운영체제


  • 커널 + 각종 주변 시스템 유틸리티

운영체제의 목적

운영체제와 하드웨어의 소통

컴퓨터시스템의 자원(resource)을 효율적으로 관리


  • 최대한의 성능(효율성)

  • 사용자간의 형평성(공정성)

자원?


  • 하드웨어 자원: 프로세서(cpu), 입출력장치, 메모리

  • 소프트웨어 자원: 프로세스, 파일, 메시지

사용자 및 운영체제 자신 보호

운영체제와 소프트웨어의 소통


편리함을 사용자에게 제공

혼동되기 쉬운 용어

컴퓨터에서 여러 작업을 동시에 수행하는 것을 뜻하는 4가지 단어, CPU 1개일 때


Multitasking

  • 하나의 프로그램이 끝나기 전에 다른 프로그램이 시작하는 것

Multiprogramming

  • 여러 프로그램이 메모리에 올라가 있음을 강조(메모리 측면 강조)

Time sharing

  • CPU를 분할하여 나누어 쓴다는 의미를 강조

Multiprocess

  • 여러 작업을 동시에 실행한다는 의미

Multiprocessor

  • 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미

  • 당연히 multitasking이 되겠지만 하드웨어적으로 다른 시스템

운영체제의 구조

CPU 스케쥴링

  • 누구한테 CPU를 줄까?

메모리 관리

  • 한정된 메모리를 어떻게 쪼개어 쓰지?

파일 관리

  • 디스크에 파일을 어떻게 보관하지?

입출력 관리

  • 각기 다른 입출력장치(CPU보다 훨씬 느림)와 컴퓨터 간에 어떻게 정보를 주고받게 하지?

  • 인터럽트

프로세스 관리

  • 프로세스의 생성과 삭제

  • 자원 할당 및 반환

  • 프로세스 간 협력

그 외

  • 보호 시스템

  • 네트워킹

  • 명령어해석기(command line interpreter)