CS공부/운영체제

[운영체제] 컴퓨터 시스템의 구조(1)

혜유우 2024. 4. 18. 04:10
운영체제의 분류
동시 작업 가능 여부

1. 단일 작업(single tasking)

한 번에 하나의 작업만 처리

ex. MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음

 

2. 다중 작업(multi tasking)

동시에 두 개 이상의 작업 처리

ex. UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음

 

사용자 수

1. 단일 사용자(single user)

ex. MS-DOS, MS Windows

 

2. 다중 사용자(multi user)

ex.UNIX,  NT server

 

처리 방식

1. 일괄 처리(batch processing)

-작업 요청의 일정량 모아서 한꺼번에 처리

-작업이 완전 종료될 때까지 기다려야 함

ex. 초기 Punch Card 처리 시스템

 

2. 시분할(time sharing)

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

-일괄 처리 시스템에 비해 짧은 응답 시간 ex. UNIX

-interactive한 방식

 

3. 실시간(Realtime OS)

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

-일괄 처리 시스템을 위한 OS

ex. 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어

-실시간 시스템의 개념 확장: Hard realtime system(경성 실시간 시스템)/Soft realtime system(연성 실시간 시스템)

 

Multiprogramming은 여러 프로그램이 메모리에 올라가 있음을 강조
Time Sharing은 CPU의 시간을 분할하여 나누어 쓴다는 의미 강조
Multiprocessor은 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미

 

 

운영체제의 예

유닉스(UNIX)

-코드의 대부분을 C언어로 작성

-높은 이식성

-최소한의 커널 구조

-복잡한 시스템에 맞게 확장 용이

-소스 코드 공개

-프로그램 개발에 용이

-다양한 버전 System V, FreeBSD, SunOS, Solaris, Linux

 

DOS(Disk Operating System)

-MS사에서 1981년 IBM-PC를 위해 개발

-단일 사용자용 운영체제, 메모리 관리 능력의 한계(주 기억 장치: 640KB)

 

MS Windows

-MS사의 다중 작업용 GUI 기반 운영 체제

-Plug and Play, 네트워크 환경 강화

-DOS용 응용 프로그램과 호환성 제공

-불안정성

-풍부한 지원 소프트웨어

 

Handheld device를 위한 OS: PalmOS, Pocket PC(WinCE), Tiny OS

 

 

Mode bit

사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 필요

 

Mode bit을 통해 하드웨어적으로 두 가지 모드의 operation 지원

1 사용자 모드: 사용자 프로그램 수행

0 모니터 모드(=커널 모드, 시스템 모드): OS 코드 수행

-보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행 가능한 '특권명령'으로 규정

-interrupt나 exception 발생시 하드웨어가 mode bit을 0으로 바꿈

-사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 셋팅

 

 

Timer

 

 

타이머

-정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트를 발생시킴

-타이머는 매 클럭 틱 때마다 1씩 감소

-타이머 값이 0이 되면 타이머 인터럽트 발생

-CPU를 특정 프로그램이 독점하는 것으로부터 보호

 

-타이머는 time sharing을 구현하기 위해 널리 이용됨

-타이머는 현재 시간을 계산하기 위해서도 사용