Operating System Overview

주리링·2021년 8월 7일
0

운영체제

목록 보기
2/7
post-thumbnail

21-1학기 운영체제에 대해서 배운 내용들을 상기하고 기록하기 위해 글을 쓰려고 합니다.
두 번째 글은 운영체제에 대한 개요를 쓰려고 합니다!

OS란?

OS(operating system)이란 application과 hardware사이의 인터페이스이며, hardware를 효율적으로 사용할 수 있는 abstraction을 제공하고 자원의 공유 및 분배를 위한 policy를 결정하는 프로그램이다.

OS가 하는 일은 프로그램 development, execution, I/O devices와 file에 접근, error detection response, accounting 등을 한다.

Kernel

kernel이란 main memory에 있는 자주 사용되는 OS의 일부이다. 즉, 캐싱과 관련이 있다.

Evolution of Operating Systems


사람이 직접 실행하는 Serial processing과 프로그램의 시작과 끝을 기계화한 Simple Vatch Ststems와 같은 Uniprogramming은 I/O작업이 끝날 때까지 기다려야했다.
Multiprogramming으로 발전하면서 메모리 안에 여러개의 프로그램을 넣어두고 I/O작업을 위해 기다릴 때, 다른 작업을 할 수 있게 되었다.
Time Sharing은 user의 입장에서 발전한 processing인데 Processor's time을 multiple user에게 나눈다. time sharing되는 시간이 너무 짧으므로 유저 입장에서는 동시에 실행된다고 생각하게 된다.
Batch Multiprogramming의 목적은 Processor의 사용을 최대화 하는 것이고, Time sharing의 목적은 user의 response time을 최소화 하는 것이다.

Modern Operating Systems

이번엔 OS가 발전 해야할 방향에 대해서 알아보자.

Microkernel architecture

확장성을 향상시키기 위해 Kernel을 가급적 작게, Kernel 이외의 부분은 오브젝트로 만들도록 한다.

Multithreading

Sysmmetric multiprocessing(SMP)

cpu가 여러개라면 여러개의 프로그램이 실행되므로 이 프로그램들을 실행 할 수 있도록하는 OS가 필요하다.

Distributed operating systems

Object-oriented design

profile
코딩하는 감자

0개의 댓글