본문 바로가기

Programming/Operating System

운영체제 정리 1

Chapter 1 Introduction

운영체제란?

컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와

하드웨어를 연결하는 소프트웨어 계층을 말한다.

 

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

- 운영체제의 핵심 부분

- 부팅 후 메모리에 항상 상주

 

넓은 의미의 운영체제

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

 

컴퓨터 시스템의 추상적 관점

운영체제의 목적

목적1

컴퓨터 시스템을 사용자가 편리하게 사용할 수 있게 함

 

목적2

컴퓨터 자원을 효율적으로 관리함

- 사용자 간의 형평성 있는 자원 분배 -> 형평성

- 주어진 자원으로 최대한의 성능 발휘 ->효율성

 

운영체제의 분류

1. 동시 작업 가능여부

- 단일 작업(Single Tasking) - 한 번에 하나의 작업만 처리

예) MS-DOS

- 다중 작업(Multi Tasking) - 동시에 두 개 이상의 작업처리

예) UNIX, MS Windows

 

2. 사용자의 수

- 단일 사용자(Single User)

예) MS-DOS, MS Windows

 

- 다중 사용자(Multi User)

예) UNIX, NT Server

 

3. 처리 방식

- 일괄 처리(Batch Processing)

1) 일정량의 작업 요청들을 모아서 한 번에 처리

2) 작업이 완전 종료 될 때 까지 기다려야 한다.

예) Punch card system

 

- 시분할(Time Sharing)

1) 여러 작업 수행시 컴퓨터의 처리 능력을 일정한 시간 단위로 분할하여 사용

2) 일괄 처리 시스템에 비해 짧은 응답시간을 가짐

3) Interactive한 방식

 

시분할 시스템

- 실시간(Realtime OS)

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

예) 원자로/공장 제어, 미사일 제어, 로봇 제어, 반도체 장비

 

용어의 구분

- Multitasking

- Multiprogramming

- Multiprocess

- Time Sharing

 

1) 위 용어들은 컴퓨터에서 여러 작업을 동시에 수행하는 것을 포함하는 용어이다.

2) Multiprogramming은 메모리에 여러 프로그램이 올라가 있음을 강조함

3) Time Sharing은 CPU의 시간을 나누어 쓴다는 것을 강조함

4) Multiprocessor라는 용어가 있는데 그것은 하나의 컴퓨터에 CPU가 여러개 붙어 있음을 의미

 

 

OS 시스템의 구조

 

1) CPU 관점 -> CPU 스케줄링

: 우선 순위 부여(효율적 프로세스 관리)

 

2) 메모리 관점 -> 메모리 관리

: 한정된 메모리를 쪼개서 사용하기(효율성 확보) -> CPU가 원활히 수행되기 위함

 

3) Disk 관점 -> 파일관리

: 디스크 움직임 최소화

 

4) I/O 관점 -> 입출력 관리

: 인터럽트 

'Programming > Operating System' 카테고리의 다른 글

운영체제 정리 3  (0) 2020.09.22
운영체제 정리 2  (0) 2020.09.18