Skip to content

Latest commit

 

History

History
120 lines (97 loc) · 6.18 KB

임은지.2장-운영체제의 개요.09월22일.md

File metadata and controls

120 lines (97 loc) · 6.18 KB

2장 운영체제 개요

1. 운영체제의 정의

운영체제(Operating System)이란?

컴퓨터를 동작시키기 위해 필요한 기본적인 소프트웨어 하드웨어 위에
기본적으로 탑재해 사용자가 손쉽게 사용할 수 있는 상태가 되도록 하는 것

<그림 1>

운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분을 필요할 때 메모리로 올려서 사용하게 된다. 이 때 메모리에 상주하는 운영체제의 부분을 커널이라 하는데 즉, 커널(kernel)은 운영체제 코드 중에서 핵심적인 부분이라고도 부른다.


2. 운영체제의 기능

운영 체제의 역할

하드웨어를 위한 역할

사용자가 직접 다루기 힘든 각종 하드웨어를 운영체제가 관리하는 역할

사용자를 위한 역할

편리한 인터페이스를 제공하는 역할 수행

운영체제의 핵심 기능

  1. 효율적으로 관리하에 가장 좋은 성능을 내도록 하는 역할 (자원관리자(recource manager)라고도 함.)
  2. 사용자 및 프로그램들 간에 자원이 형평성 있게 분배되도록 하는 균형자 역할
  3. 사용자와 운영체제 자신을 보안 및 보호기능 역할

3. 운영체제의 분류

단일작업(single tasking)

한 번에 하나의 프로그램만 처리할 수 있는 운영체제 ex) 도스 (Disk Operating System : DOS)

다중작업(multi tasking)

동시에 두 개 이상의 프로그램을 처리할 수 있는 운영체제 ex) MS윈도우, 유닉스 단, 동시에 실행되는 것이 아니라 번갈아 실행 됨.

동시실행

시분할 시스템(time sharing system)

여러 프로그램들이 조금씩 나누어 쓰는 시스템

다중 프로그래밍 시스템(multi-programing system)

메모리 공간을 분할해 여러 프로그램들을 동시에 메모리에 올려놓고 처리하는 시스템

대화형 시스템(interactive system)

여러 프로그램을 같이 싫애시키지만 사용자 개개인의 관점에서는 각 프로그램에 대한 키보드 입력의 결과를 곧바로 보여주는 시스템

기준 1 : 다중 사용자에 대한 동시 지원

단일 사용자용 운영체제

한 번에 한 명의 사용자만 허용 ex) DOS

다중 사용자용 운영체제

여러 사용자가 동시에 접속 허용 ex) email server, web server

기준 2 : 작업 처리 방식

일괄처리(batch processing) 방식

요청된 작업을 한꺼번에 처리하는 방식이나 긴 응답 시간이 단점

시분할 방식 : 컴퓨터 처리 능력을 일정한 시간 단위로 분할해 사용하는 방식

일괄처리 방식에 비해 짧은 응답시간

기준 3: 실시간(real time) 운영체제

: 주어진 시간 내 반드시 처리됨을 보장해야 하는 시스템

경성 실시간(hard realtime system)

처리 못할 경우 매우 위험한 상황 초래 ex) 로켓, 원자로 제어 시스템

연성 실시간(soft realtime system)

정해진 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템 ex) 멀티미디어 스트리밍


4. 운영체제의 예

MS윈도우 운영체제

개인용 컴퓨터를 위한 운영체제로서 누구든지 손쉽게 사용할 수 있는 편리한 인터페이스와 각종 기능 장점 - 일반 사용자에게 편리한 여러 가지 기능들을 제공 단점 - 안정성이 떨어짐

유닉스

대형 컴퓨터및 전문적인 목적의 컴퓨터를 사용하기에 적합 장점 - 좋은 이식성, 작은 커널 크기, 공개된 소스코드 단점 - 일반 사용자가 사용하기 다소 어려움


5. 운영체제의 자원 관리 기능

하드웨어 자원

소프트웨어 자원

CPU 관리

CPU 스케줄링(CPU scheduling)

: 어떤 프로세스에 CPU를 할당해 작업을 처리할 것인지 결정하는 일

선입선출(FCFS) : 먼저 온 것을 먼저 처리

라운드로빈(Round Robin) : CPU를 고정된 시간으로 제한하여 처리

우선순위(Priority) : 높은 우선순위를 먼저 처리

메모리 관리

: CPU가 직접 접근 할 수 있는 컴퓨터 내부의 기억장치이며 주소(address)를 통해 관리, 전체 메모리 공간이 효율적으로 사용할 수 있게 각 프로세스가 자신의 메모리 영역에만 접근할 수 있도록 관리

물리적 메모리 관리

- 고정분할(fixed partiton) 방식

물리적 메모리를 몇 개의 분할로 미리 나누어 관리 단점 - 동시 적재되는 최대대 프로그램의 수가 분할 개수로 한정되기 때문에 융통성이 없음

  • 가변분할(variable partiton) 방식 매 시점프로그램의 크기에 맞게 메모리를 분할해 관리 단점 - 물리적 메모리의 크기보다 더 큰 프로그램의 실행 불가능
  • 가상메모리(vitual partition) 방식 물리적 메모리보다 더 큰 프로그램이 실행되는 것을 지원 현재 사용되고 있는 부분만 메모리에 올리고, 나머지는 보조기억장치(swqp area)에 저장해두었다가 필요할 때 적재하는 방식

주변 장치 및 입출력 장치의 관리

인터럽트(interrupt)

주변장치들은 CPU의 서비스가 필요한 경우에 신호를 발생시켜 서비스를 요청하는 것 인터럽트가 발생되면 인터럽트로 인해 처리해야 할 작업을 선 작업하고 처리 완료 후 원래 수행하던 작업으로 돌아오기 위해 인터럽트 처리 직전에 수행 중이던 작업의 상태를 저장해둔다.

인터럽트 처리 루틴

인터럽트가 발생했을 때 해주어야 할 작업을 정의한 프로그램 코드 운영체제 커널 내에 존재하며 인터럽트가 발생하면 해당하는 인터럽트 처리루틴을 찾아서 작업 수행

컨트롤러(controller, 제어기)

해당 장치에 대한 업무를 처리하고 이를 메인 CPU에 인터럽트를 발생시켜 보고하는 역할