10 Memory Management Memory Management Uniprogramming P 1

  • Slides: 25
Download presentation
제 10강 : 기억장치관리(Memory Management) 기억장치 관리 (Memory Management)

제 10강 : 기억장치관리(Memory Management) 기억장치 관리 (Memory Management)

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

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

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

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

운영체제 동일 크기 분할 1 hwp 분할 2 ppt 분할 3 탐색기 고정분할 Multi-programming

운영체제 동일 크기 분할 1 hwp 분할 2 ppt 분할 3 탐색기 고정분할 Multi-programming Fixed Partition

배치 (Placement) 전략 -First-fit -Best-fit -Worst-fit -Buddy System 빈 공간 List

배치 (Placement) 전략 -First-fit -Best-fit -Worst-fit -Buddy System 빈 공간 List

Buddy System 27 28 29 210 26

Buddy System 27 28 29 210 26

Binding

Binding

Fragmentation 못쓰게 되는 공간

Fragmentation 못쓰게 되는 공간

배치 (Placement) 전략 -First-fit -Best-fit -Worst-fit -Buddy System Fragmentation Internal Fragmentation 빈 공간 List

배치 (Placement) 전략 -First-fit -Best-fit -Worst-fit -Buddy System Fragmentation Internal Fragmentation 빈 공간 List External Fragmentation

Multi-user, Multi-programming 과 Protection

Multi-user, Multi-programming 과 Protection

memory instruction [관리자 모드] 0 memory Add Sub Disk write Disk read Tape write

memory instruction [관리자 모드] 0 memory Add Sub Disk write Disk read Tape write Disable interrupt Enable interrupt

instruction memory [관리자 모드] 0 memory a. out [사용자 모드] 1 Add Sub Disk

instruction memory [관리자 모드] 0 memory a. out [사용자 모드] 1 Add Sub Disk write Disk read Tape write Disable interrupt Enable interrupt instruction Add Sub Disk write Disk read Tape write Disable interrupt Enable interrupt CPU 의 두가지 mode

I/O와 System Call

I/O와 System Call

SVC 인터럽트 (interrupt) User mode 관리자 mode main() { 2 SVC(read_disk) 1 Interrupt_SVC() {

SVC 인터럽트 (interrupt) User mode 관리자 mode main() { 2 SVC(read_disk) 1 Interrupt_SVC() { 럽 인터 어떤 OS 서비스? 트 5 sys ca ll 마침 disk_read() { 4 3 return; } System Call: OS 가 가지고 있는 function을 부르는 것 모든 I/O는 system call이 대행해 줌 예: read(disk) -------- C 언어 } SVC 명령어(“disk read” 인자) -- binary