운영체제의 개요

Download Report

Transcript 운영체제의 개요

제01강 : 운영체제의 개요

1장 운영체제의 개요

정 의

하드웨어와 응용프로그램 (또는 사람) 사이 중간 역할 – 성능(Performance) 향상을 도모한다.

– 사용자 인터페이스(User interface) 제공.

응용프로그램 응용프로그램 운영체제 하드웨어

성능 척도

• 처리량 (Throughput) • 자원 활용도(Utilization) • 응답시간 (Response) jobs/second % (of time busy) second • Capacity 최대 Throughput 식당 컴퓨터 자원 의자, 식기

.

CPU, 메모리 ..

T 팔린그릇/시간 끝낸 Job/시간 U 의자 사용(%) CPU 사용(%) R 음식 빨리?

Output 빨리?

성능 척도

• 처리량 (Throughput) • 자원 활용도(Utilization) • 응답시간 (Response) system oriented jobs/second % (of time busy) second user oriented 식당 컴퓨터 자원 의자, 식기

.

CPU, 메모리 ..

T 팔린그릇/시간 끝낸 Job/시간 U 의자 사용(%) CPU 사용(%) R 음식 빨리?

Output 빨리?

관점/표현의 전환

• 주어, 주체 – 다른 과목 – 내 프로그램 – OS 과목 – OS가 주체 • “내 프로그램이 메모리에 올라간다” • “OS가 내 프로그램에 메모리 공간을 할당 한다” • “내 프로그램이 CPU에 돌아간다” • “OS가 “내 프로그램에 CPU를 할당 한다”

Process v.s. Program

• 프로그램(Program) – Code – 정적 개념 source program binary program main() { int i; printf( “ Hello ” }; } *.EXE

a.out

• 프로세스(Process) – 실행 중인 프로그램 – 동적 개념 – 프로그램 + 자원 (기억장치, CPU 등) program process

OS가 하는 일

프로세스 관리

• OS가 프로세스에 자원을 할당/회수 • OS가 자원을 할당하기 사작하면 – Process is “created” – 메모리 공간 – CPU 할당 할당 … • Process가 끝나면 – OS 가 자원을 회수 – 메모리 공간 등 회수

OS가 빈공간 파악

주기억장치 관리

Memory 프로그램 A 프로그램 C 프로그램 D 프로그램 A 프로그램 B 프로그램 C 프로그램 D 프로그램 E

OS가 빈공간 파악

보조기억장치 관리

File A File B File C File E 순서 Read F A Read F B Write F B

OS가 빈공간 파악

보조기억장치 관리

File A File B File C File E 공간 Write F B Write F B

File A File B File C

입출력 시스템 OS

device driver

” Disk 연결?

Disk 전원?

Disk busy?

Read bits Error?

메모리로 User program Read F A File E

OS 구성요소

• 하드웨어와 사람(또는 응용 프로그램) 사이 • 중간 역할 – 성능(Performance) 향상을 도모한다. – 사용자 인터페이스(User interface) 제공. 응용프로그램 응용프로그램 운영체제 하드웨어 주기억장치 보조기억장치 입출력 시스템 기타 관리 관리 관리

OS 구성요소

• 하드웨어와 사람(또는 응용 프로그램) 사이 • 중간 역할 – 성능(Performance) 향상을 도모한다. – 사용자 인터페이스(User interface) 제공. 응용프로그램 응용프로그램 운영체제 하드웨어 프로세스 관리 파일 관리 주기억장치 보조기억장치 입출력 시스템 기타 관리 관리 관리

OS에서 사용되는 기법

옛날 CPU의 가격

진공관 트랜지스터 초창기 컴퓨터 일일이 손으로 연결 가격이 매우 비쌈 가격이 부품수에 비례 VLSI

Uni-programming P 1 이 동안 비싼 CPU idle

Uni-programming P 1 이 동안 비싼 CPU idle Multi-programming (Throughput, Utilization 높아짐) P 1 P 2

Uni-programming P 1 이 동안 비싼 CPU idle Multi-programming (Throughput, Utilization 높아짐) P 1 P 2 P 3 Degree of Multiprogramming

Main CPU Satellite CPU(channel) 비싸고 큰 컴퓨터 고속, 복잡한 연산 능력 program hwp 30000 쪽

Main CPU Satellite CPU(channel) 비싸고 큰 컴퓨터 고속, 복잡한 연산 능력 과학연산 hwp 30000 쪽 저가 소형 컴퓨터 저속 (프린터 상대) 단순 연산 (print char, loop) channel Satellite CPU 그러나 30000쪽이 너무 오랫동안 메모리를 차지함

SPOOLING

program hwp 30000 쪽 20000 쪽 4000 쪽 다량의 Output Data 발생?

Main CPU는 고속, 고급 연산만

program hwp 30000 쪽 20000 쪽 4000 쪽

SPOOLING

Main CPU는 고속, 고급 연산만 30000 쪽 쪽 4000 쪽

program hwp 다른 고속 연산 데이터

SPOOLING

Main CPU는 고속, 고급 연산만 Channel 이 느린 입출력 담당 (off line 처리) 30000 쪽 쪽 4000 쪽 SPOOLING 프린터 공유 하나씩 차례로 느려도 좋다

program hwp 30000 쪽 20000 쪽 4000 쪽

SPOOLING

Main CPU는 고속, 고급 연산만 Channel 이 느린 입출력 담당 (off line 처리) 30000 쪽 쪽 4000 쪽 SPOOLING 프린터 공유 하나씩 차례로 느려도 좋다

program 30000 쪽 20000 쪽 4000 쪽

SPOOLING

Main CPU는 고속, 고급 연산만 30000 쪽 20000 쪽 4000 쪽

program

SPOOLING

Main CPU는 고속, 고급 연산만 Channel 이 느린 입출력 담당 (off line 처리) 30000 쪽 쪽 4000 쪽 SPOOLING 30000 쪽 20000 쪽 4000 쪽

SPOOLING

program Main CPU는 고속, 고급 연산만 Channel 이 느린 입출력 담당 (off line 처리) 30000 쪽 20000 쪽 4000 쪽 즉시 처리 메모리는 고속 연산용 메모리를 효율적으로 사용 꼭 필요할 때만 사용 30000 쪽 쪽 4000 쪽 SPOOLING 30000 쪽 20000 쪽 4000 쪽

program 30000 쪽 20000 쪽 4000 쪽

SPOOLING

Main CPU는 고속, 고급 연산만 Channel 이 느린 입출력 담당 (off line 처리) 30000 쪽 쪽 4000 쪽 SPOOLING 30000 쪽 20000 쪽 4000 쪽

OS의 종류

Single-tasking v.s. Multi-tasking

Task(process) Task(process)

Single-user v.s. Multi-user

PC Windows Server Linux, UNIX, IBM

일괄처리(Batch) 시스템

일괄처리 시스템이 비싼 경우 Utilization Thruput 위주 관광버스 Cobol 프로그램 batch?

Cobol 컴파일러 수행 전화요금 데이터 batch?

요금프로그램 수행 개별처리 시스템이 싼 경우 Response 위주 택시 도착 즉시 매번 수행 도착 즉시 매번 수행

Card Reader & Batch System

같은 종류 일감이 batch로 쌓여야 프로그램을 수행 처리 program Operator가 batch 크기로 수행 순서를 결정

시분할(Time-sharing) 시스템

• 터미날의 등장 • keyboard로 부터 프로그램 명령 입력 – “탐색기” “ folder 이동” “ list files” “cp” • 작은 일 – 수초 내 output 주어야 • short interactive jobs (입력 즉시) • multi-user 시스템부터 출발했음 • Time-share – CPU 등의 시간을 – 여러 job이 돌려가며 사용 Linux, UNIX

실시간 (Realtime) 시스템

• 747, 원자력 발전소, 중환자실, MP3 … • deadline을 가진 job들 • 보통 m-seconds 이내에 Response 주어야