tlov

01. 운영체제 개요 본문

개발/운영체제

01. 운영체제 개요

nowitzki 2024. 8. 16. 11:09

이화여자대학교 (반효경, 2014) - 운영체제

 

운영체제란?

컴퓨터 하드웨어 바로 위에 설치되어 하드웨어와 사용자 및 응용 소프트웨어를 연결하여 효율적으로 자원을 관리해 주고 자원에 대한 서비스를 제공하는 특별한 소프트웨어를 말한다.

 

좁은 의미의 운영체제 - 커널

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

 

넓은 의미의 운영체제

- 커널 뿐만 아니라 각종 시스템 유틸리티를 포함한 개념

- 메모리에 상주하지 않고 독립적인 프로그램들이지만 운영체제 범위에 포함되는 것들

 

전공자 입장에서의 운영체제는 보통 '커널'만을 의미한다.

 

 

운영체제의 목적

- 컴퓨터 시스템의 자원을 효율적으로 관리 (가장 큰 목적)

  - 프로세서, 기억장치, 입출력 장치 등 (하드웨어 자원)

  - 프로세스, 파일, 메시지 등 (소프트웨어 자원)

  - 사용자간의 형평성 있는 자원 분배 및 주어진 자원으로 최대한의 성능 내기

- 사용자에게 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공

 

 

운영체제의 분류

동시 작업 가능 여부

- 단일 작업 (single tasking)

한 번에 하나의 작업만 처리 ex. MS-DOS 프롬프트

 

- 다중 작업 (multi tasking)

동시에 두 개 이상의 작업 처리 ex. UNIX, MS Windows

현대적인 운영체제

 

 

사용자의 수

- 단일 사용자 (single user) ex. MS-DOS, MS Windows

 

- 다중 사용자 (multi user) ex. UNIX, NT Server

 

 

처리 방식

- 일괄 처리 (batch processing)

작업 요청의 일정량을 모아서 한꺼번에 처리하며 작업이 완전 종료될 때까지 기다려야 한다.

 

- 시분할 (time sharing)

현대 운영체제가 사용하는 처리 방식

여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용한다. 일괄 처리 시스템에 비해 짧은 응답시간을 가짐

ineractive한 방식.

 

- 실시간 (realtime OS)

정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 OS이다.

시분할은 어떤 시간 안에 무조건 해결되어야 함이 없이 사용자 및 응용 프로그램 개수에 따라 작업 시간이 늘어남과 줄어듦이 반복하지만, 이 실시간 방식은 무조건 어떠한 일이 시간 내에 종료되어야 한다.

특수한 목적을 가진 시스템에서 사용되는 OS이다. ex. 원자로/공장 제어, 미사일 제어, 반도체 장비,...

 

실시간 시스템의 개념 확장

- hard realtime system

- soft realtime system

 

 

몇 가지 용어

- Multitasking

여러 작업이 동시에 실행되는 것을 멀티 태스킹이라고 함.

엄밀히 말하면 CPU에서는 한 번에 하나의 작업만 수행하지만, 빠르게 전환하며 실행하기 때문에 여러 작업이 동시에 돌아가는 것처럼 보인다.

 

- Multiprogramming

멀티프로그래밍은 메모리에 여러 프로그램이 동시에 올라가는 방식을 말한다.

메모리에 좀 더 중점을 둔 용어이다.

 

- Time sharing

시간을 분할해서 CPU를 사용하는 방식이다.

CPU를 좀 더 강조한 용어이다.

 

- Multiprocess

 

4가지 용어 모두 유사한 용어로 사용됨.

- Multiprocessor : 하나의 컴퓨터에 CPU가 여러 개 붙어있음을 의미한다.