[CS] 운영체제 개요

do yeon kim·2022년 10월 14일
0

CS-운영체제

목록 보기
1/20

http://www.kocw.net/home/cview.do?cid=3646706b4347ef09

강의목차

  • 운영체제개요
  • 컴퓨터시스템의 구조
  • 프로세스 관리
  • CPU스케쥴링
  • 병행제어
  • 데드락
  • 메모리관리
  • 가상메모리
  • 파일시스템
  • 입출력시스템
  • 디스크관리


운영체제(operating System)

운영체제(OS) 란 컴퓨터하드웨어 위에 설치되어 있는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 또한 하드웨어 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다.

협의의 운영체제(커널) - 운영체제의 핵심 부분으로 메모리에 상주하는 부분
광의의 운영체제 - 커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념, 메모리에 상주하지는 않는 별도의 프로그램들, 독립적인 프로그램들이지만, 운영체제의 범주에는 포함되는 개념이다.

내가 운영체제라면 어떻게 하드웨어를 관리할까? 사용자를 위해서 어떻게 처리를 해야 할까? 등을 생각해보면 좋다.


사용자는 직접 하드웨어에 접근하지 않고 운영체제를 인터페이스로 이용해서 접근할 수 있다. 또한 다른 소프트웨어들도 운영체제의 관리를 받으면서 사용되어 진다.

운영체제의 역할

  • 하드웨어와의 인터페이스
  • 사용자와 각종 소프트웨어와의 인터페이스

즉,사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공을 해주는 것이다.

즉, 하드웨어와 각종 소프트웨어, 사용자의 중간에서 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주는 것이 운영체제이다.



운영체제 목표

프로세스, 기억장치, 입출력장치 등의 컴퓨터 시스템의 자원을 효율적으로 관리하는 것이 목표이다.

컴퓨터가 실제 동작을 하게 되고, 프로그램이 돌아가게되면, cpu를 할당받아서 실행되게 된다. 이때 cpu를 계속 할당받아서 사용하는 것이 아닌 짧은 시간에 번갈아가면서 사용하게 된다. 이렇게 누구에거, 얼마만큼의 시간으로 할당할 것인가 등을 관리해야 한다.

또한 cpu는 메모리에 올라온 인스트럭션을 읽어서 실행하게 되는데, 메모리 공간은 한정되어 있다. 어떤 방식으로 메모리에 프로세스들을 올리것인가 등 도 관리해주어야 한다. 한정된 공간이기 때문에 균등하게 배분하는 방법도 있을 것이지만, 더 빠르게 처리해야하는 프로세스에게 먼저 많은 공간을 배분하는 것이 더 효율적일 것이다. 하지만 효율성만 따지다보면 메모리 공간을 할당 받지 못하는 프로세스도 존재할것이다. 그렇기 때문에 형평성도 고려해야 한다.

주어진 자원으로 최대한 성능을 내도록 (효율성)
사용자간의 형평성 있는 자원 배분 (형평성)

운영체제는 하드웨어 자원(cpu, memory등) 뿐 만아니라 소프트웨어 자원(프로세스, 파일, 메시지 등) 역시 관리를 해야한다.

위와 같은 자원을 관리하는 것이 운영체제이며, 운영체제는 이러한 자원을 효율적으로 관리하고자 하는 목표가 있다.



각각의 프로그램이 실제는 하나의 컴퓨터지만 자기의 프로그램만 컴퓨터에서 실행되고 있다는 환상을 제공하는 것이 운영체제의 또 다른 역할이다.




운영체제 분류

  • 동시작업이 가능 여부
    단일작업 한번에 하나의 작업만 처리 ms-dos
    다중작업 동시에 두 개 이상의 작업 처리 unix, ms window 현대 운영체제

  • 사용자의 수
    단일 사용자
    다중 사용자

  • 처리 방식
    일괄처리
    시분할처리
    실시간처리


운영체제분류 - 일괄처리

일괄처리(batch processing)
작업 요청의 일정량 모아서 한꺼번에 처리하는 방법으로, 작업이 완전 종료될 때까지 기다려야 한다.


운영체제분류 - 시분할처리

시분할처리(time shareing)
여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용한다. 일괄 처리 시스템이 비해 짧은 응답 시간을 가진다
조금씩 할당을 번갈아 가면서 진행한다. 각각의 사용자 입장에서는 interactive한 반응을 받을 수 있다.
사람이 느끼기에 빠르게 하면서 주어진 리소스를 효율적으로 사용하는 것이 목표이다. 데드라인이 정해져 있지 않다. 범용컴퓨터에 사용된다.


운영체제분류 - 실시간처리

실시간처리(real time)
데드라인이 정해져 있다. 특수한 목적을 가진 컴퓨터에서 사용된다.
확장된 개념으로는 경성실시간 시스템 (엄격한), 연성실시간 시스템 (덜 엄격한)이 있다.




그 이외




앞으로 살펴볼 내용

0개의 댓글