cpu

· CS/OS
Semaphores 프로그래머가 이렇게 lock/unlock 관련한 코드를 고민하기 어려우므로 앞의 방식들을 추상화한다 Semaphore S integer variable (자원의 수) (이전의 알고리즘들은 S=1인 경우라고 생각할 수 있다) 아래 두가지 atomic 연산에 의해서만 접근 가능 critical section을 수행중인 다른 프로세스를 CPU ready queue가 아닌 semaphore에 대한 wait queue에서 대기 이 연산에서 S 변수는 S가 양수면 기다리는 프로세스가 없다는 것, 음수면 기다리고 있다는 의미 (위에서와 다름) critical section의 길이가 긴 경우 block/wakeup이 좋음 critical section의 길이가 매우 짧은 경우 block/wakeup..
· CS/OS
큐를 나누고, CPU는 어느 큐를 먼저 고를지, 그리고 그 큐에서 어떤 프로세스를 먼저 고를지 스케줄링 CPU 사용시간이 적은 프로세스에 RR보다 더 큰 우선순위 부여 기타 상황에서의 CPU 스케줄링 Real-Time Scheduling Hard real-time systems: Hard real-time task는 정해진 시간 안에 반드시 끝내도록 스케줄링 Soft real-tme computing: Soft real-time task는 일반 프로세스에 비해 높은 우선순위를 갖도록 스케줄링 Thread Scheduling Local scheduling: user level thread는 사용자 수준의 thread library에 의해 어떤 thread를 스케줄할지 결정 Global scheduling:..
· CS/OS
CPU burst: 프로세스 실행 과정 중 CPU의 제어권을 얻어 연속적으로 인스트럭션을 실행하는 단계 I/O burst: CPU 제어권을 잃고 I/O를 실행하는 단계 CPU bound job: 계산 위주의 job (few very long CPU bursts) I/O bound job: CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job (many short CPU bursts) 중요 용어: nonpreemtive(비선점형), preemtive(선점형) 시스템 입장에서: CPU utilization, Throughput 프로그램 입장에서: Turnaround time, Waiting time, Response time 선점형 스케줄링에서 대기 시간은 여러번 있을 수 있지만 응답 시간은 ..
· CS/OS
CPU: 매 클럭마다 메모리에서 인스트럭션(기계어)을 차례로 읽어 실행하는 작업 반복 레지스터: 메모리보다 빠른 작은 정보 저장 공간 다음 인스트럭션의 주소를 담고 있음 mode bit: 실행중인 프로세스가 OS인지 사용자 프로그램인지 구분해준다 1 (사용자 모드): 사용자 프로그램 수행 -> 제한된 인스트럭션만 수행 가능 (보안) 0 (모니터 모드): OS 코드 수행 (=커널모드) -> I/O 관련된 인스트럭션까지 모두 수행 가능 interrupt line: CPU는 매 인스트럭션을 읽기 전에 interrupt line이 세팅되어 interrupt될 사항이 있는지 체크한다 CPU에 인터럽트가 걸리면 실행중인 프로그램에서 OS로 CPU 제어권이 넘어간다 프로그램 실행 중에 I/O 장치의 관여가 필요하다면..
· CS/OS
운영체제의 기능 CPU 스케쥴링 대부분의 프로그램은 CPU(기계어 실행) ↔ 입출력 디바이스(디스크, 키보드, 프린터, 모니터 등) 과정 반복 실행 FCFS(First Come First Served): 어떤 프로세스가 먼저 왔냐에 따라 평균 대기 시간이 비효율적 SJF(Shortest Job First): CPU 사용시간이 가장 짧은 프로세스 순으로 스케쥴 -> 최소 평균 대기 시간 보장 Starvation(기아 현상) 발생 가능: 이론적으로 영원히 CPU를 사용하지 못하는 프로세스가 생길 수도 있다 RR(Round Robin): 각 프로세스에 동일한 CPU 사용시간 할당 할당 시간 종료 후 인터럽트(하드웨어 관여) 발생 -> CPU를 빼앗기고 CPU 큐의 맨 뒤에 줄을 섬 대기 시간이 프로세스의 CP..