Computer/Operating system 9

09 Uniprocessor Scheduling(2)

2. Scheduling algorithm (시험 반드시 출제) Process Scheduling Example - Arrival Time : 프로세스가 ready queue에 도착한 시간 - Service Time : 프로세스 실행 시작 후 종료되거나 I/O 함수호출로 대기 큐에 이동하기 전까지의 실행 예상 시간 스스로 blocking 될 때까지의 시간 Frist-Come-First-Served [FCFS] : Ready queue에 들어 온 순서대로 실행 (FIFO) - Ready queue에서 가장 오랫동안 있었던 (대기시간이 가장 긴) 프로세스가 가장 우선순위가 높음 - 비선점형 스케줄링 - 짧은 작업의 프포레스가 긴 작업의 프로세스 때문에 오랫동안 Ready Queue에서 기다려야 하는 경우 1..

09 Uniprocessor Scheduling(1)

1. Scheduling Basic Term - Turnaround time : 프로그램의 시작부터 완료까지 걸리는 시간 (오늘날 사용자의 입출력에 의한 프로그램에서는 큰 의미가 없다) - Response time : Input이 들어오고 output까지 걸리는 시간, 알고리즘이나 컴퓨터의 포화상태에 따라 달라짐 - Deadlines : 마감기한, ex) 동영상 프레임 33ms - Troughput : 단위 시간당 처리를 끝낸 프로세스 개수 - processor utillization : CPU가 시간 당 바쁜 비율 (순수한 CPU 이용률 - 다른 작업들을 제외하고 순수하게 프로그램을 돌리는데 사용된 CPU 이용률) over head가 심할 경우 이용률 떨어짐 Aim of Schuduling(목적) 1)..

08 Virtual Memory (2)

4. Paging Support Nedded for Virtual Memory - Hardwere(MMU) 장치 필요 - Operation system는 pages가 main memory와 disk 사이를 이동해야한다. - OS는 page table도 관리해야한다. Paging 1) Modify bit in page Table 페이지가 메인 메모리로 마지막으로 로드된 이후 변경되었는지 여부를 나타내려면 수정 비트가 필요 변경이 없는 경우, 페이지를 스왑 아웃해야 할 때 디스크에 쓸 필요가 없음 2) two-level scheme for 32-bit Address - 전체 page table이 주 메모리를 너무 많이 차지할 수 있음 - page table 은 가상 메모리에도 저장 - 프로세스가 실행 중일 ..

08 Virtual Memory (1)

1. Types of Memory Real memory - Main memory Virtual memory - Real memory + Memory on disk(하드디스크의 일부) - 보다 많은 프로그램 실행 가능해짐 - 궁극적으로 CPU 이용률을 향상시킴 2. Real memory - 프로세스는 page 또는 segmentation 단위로 분할 - 프로세스는 전체가 메모리에 로드 되어야 실행 가능 - 프로세스가 메모리에 연속적을 배치될 필요는 없음 - MMU 장치에서 HW적으로 주소 변환 : 논리주소 -> 실제주소 CPU는 논리 주소만을 취급 프로세스 내의 모든 포인터 변수 값 역시 논리주소 값 실제 주소는 memory management unit(MMU)만 취급함 - MMU 역할 Memory pro..

ch07. Memory Mangement

1. Memory Management Requirements Relocation (재배치) - 프로그램 실행 시 배치; 장소는 모른다 - 재배치가 일어나는 2가지 경우 1) Disk swap out 한 후 다시 swap in 할 때 (프로그램이 장시간 Blocked 상태일 경우 메인 메모리에서 디스크로 빠짐) -> (다시 불러옴) 2) memory compaction : 중간중간 쓰지 않는 메모리 조각이 생김. > 메모리 전부를 앞 쪽부터 다시 옮김 - 논리 주소 -> 실제 주소로 변환이 필요하다. Protection (메모리 보호) - 다른 프로그램이 내 영역 침범할 때 보호 - MMU (memory management unit hardware) : 메모리를 관리하는 별도의 하드웨어 장치 내 영역이 아..

Ch03 Processes2

Process Structure Process Control Block 1. Process Identification - identifiers : process ID, parent process ID(내 프로그램을 실행시켜준 프로그램), User ID, group ID 2. Processor State Intormation - context data : 실행중인 프로세스가 일시 중지될 때 processor의 registers 전부를 백업시켜 놓는 장소 (processor registers -> memory) - General Working Registers - program counter register (PC) - Program status word(PSW) register : 비트별로 저장한 레지스터..

Ch03 Processes1

Process (Processor = CPU) - 메인 메모리에서 실행되고 있는 프로그램 (현재 돌고 있는 프로그램) Process Creation 1. Interactive login (로그인 할 때) 2. Created by OS to provide a service (기본 운영체제에 의한 실행, exe와 같은 실행 파일이 제공될 때) 3. Spwned by existing process (통합개발프로그램에 의한 실행, 기존 프로그램에 의한 실행) Process Termination 1. Normal completion (정상 종료, main함수에 의한 종료 - exit) 2. Bounds violation (비정상 종료, 포인터 변수의 주소값 오류, 다른 메모리 값 침범 시, 운영체제가 강제 종료)..

Ch02 Types of Operating System

Multiprogramming Systems or Multitasking 목적 : CPU 이용률 최대화 CPU 이용률 - CPU가 총 실행한 시간 중 사용자 프로그램을 실행하는데에 사용한 시간의 비율 ex) 사용자프로그램실행(7초) + CPU스위칭(0.6초) + I/O스위칭(0.4초)+CPU휴식상태(2초)면 CPU 이용률은 0.7은 0.7 = 7초 / 총 10초 - 여러 프로그램을 동시에 실행 - 시분할 처리 기능 (CPU가 각 프로그램을 일정시간 동안 번갈아 가면서 실행시키는 기능)은 없음 * 언제 CPU를 다른 프로그램에 넘기는지 * 1. 실행중인 A 프로그램이 I/O 함수를 호출 했는데 I/O 장치에 데이터 없을 때 A -> B 프로그램 실행 2. I/O 장치에 A가 기다리던 데이터가 들어 왔을 경..

Ch01 OS overview

Operating System - 응용프로그램의 실행을 제어해주는 거대한 함수들의 덩어리 (메인메모리에 위치) - 하드웨어와 어플리케이션의 중간에서 인터페이스 역할 (다리 역할 - 직접 접근하지않고 함수를 통해 접근) OS = Kernel + System Programs Kernel (메모리에 상주) : 시스템 부팅할 때 메모리에 설치되는 거대한 API 함수들의 집합 >> API(Application Programming Interface) : 공용 프로그램을 작성하는데 필요한 인터페이스 함수 (기능별 구분) : process관리(실행 중인 프로그램 관리), Processor 스케줄링(CPU 할당), 실기억장치(메인 메모리 관리) 및 가상 기억장치(하드디스크의 일부를 빌려 메모리처럼 사용), 파일시스템,..