본문 바로가기

운영체제28

OPERATING SYSTEM CONCEPTS 에센셜 연습문제 4장 #2 [4.6 다중 스레드 기법을 사용했을 때 단일 스레드 기법을 사용했을 때보다 성능이 좋지 않은 프로그래밍 사례 2가지를 제시하시오] 1. 순차적으로 실행되어야 하는 프로그램일 때 2. 프로그램이 실행되는 것을 계속 모니터링해야하는 프로그램일 때 [4.7 단일 처리기 시스템에서의 프로그래밍을 고려하자. 다중 커널 스레드를 사용하여 다중 스레드 프로그램을 만들었을 때 이 프로그램의 성능이 단일 스레드만 사용하는 프로그램에 비해 더 나은 성능을 보이는 경우는 언제인가?] 응용 프로그램이 긴 작업을 수행할 때 더 나은 성능을 보여준다. 프로그램의 수행이 계속되는 것을 허용함으로써 사용자에 대한 응답성을 증가시킨다. 예를들어 시간이 많이 걸리는 연산을 시작하는 버튼을 클릭했을 때 단일 스레드는 그 연산이 완료될 .. 2022. 4. 24.
OPERATING SYSTEM CONCEPTS 에센셜 연습문제 4장 #1 오답이 있을 시 댓글 부탁드리겠습니다 [4.1 다중 스레딩이 단일 스레드 해결책보다 더 나은 성능을 제공하는 프로그래밍 예를 두개 제시하시오] 1. 요청이 들어올 때마다 스레드를 생성하는 웹서버 2. 연산같은 작업을 할 때 병렬로 작업할 수 있음 [4.2 사용자 수준 스레드와 커널 수준 스레드의 차이점 2가지를 제시하시오. 어떤 경우에 다른 유형 보다 성능이 나은지 설명하시오] 1. 쓰레드와 관련된 모든 행위를 사용자 영역에서 한다. 때문에 커널이 쓰레드의 존재를 알지 못함 2. 사용자 수준 스레드는 스레드를 전환할 때 커널 스케줄러를 호출할 필요가 없기 때문에 오버헤드가 적지만 커널 수준 스레드는 스레드를 전환할 때 커널 스케줄러를 호출해 레지스터 저장 등 많은 작업이 필요하기 때문에 오버헤드가 있다... 2022. 4. 24.
문맥 교환(Context Switch) 문맥 교환 시분할 시스템을 생각할 때 여러 프로세스는 할당된 시간만큼 CPU에 할당된다. 때문에 사용자에게 여러 프로세스를 마치 동시에 실행하는 것 처럼 보이게 해준다. CPU는 할당된 시간만큼 프로세스를 처리하고 다음 프로세스로 넘어가서 일을 처리한다. 이 때 일어나는 것이 문맥 교환이다. 프로세스는 프로세스마다 문맥을 가진다.문맥은 CPU의 레지스터 값, 프로세스의 상태, 메모리 관리 정보,Program Counter 등 프로세스의 정보를 가진다.이 문맥은 각 프로세스마다 프로제스 제어 블록(PCB)에 저장된다. A프로세스와 B프로세스가 있다고 가정해보자CPU는 A프로세스를 수행하다가 A프로세스에 할당된 시간이 다 되어 B프로세스를 진행하려고 한다.CPU는 A프로세스의 문맥을 새로 저장하고 B프로세스.. 2022. 4. 11.
프로세스 스케줄링,스케줄러 종류 프로세스 스케줄링 프로세스 스케줄러는 CPU에서 실행 가능한 여러 프로세스들 중에서 하나의 프로세스를 선택한다. 프로세스를 스케줄링 하는 이유는 CPU의 사용을 최대로 하는 것이며 시간을 나누어 쓰기 위해 CPU에 프로세스를 빠르게 전환시키는데에 있다. 프로세스는 스케줄링 큐에 대기하게 되는데 스케줄링 큐는 크게 3가지로 분류된다. 1. 잡 큐(Job queue) : 시스템의 모든 프로세스의 집합 2. 준비 큐(Ready queue) : 메인 메모리에 존재하고 실행을 기다리며 준비된 모든 프로세스의 집합 3. 장치 큐(Device queues) : I/O장치를 기다리고 있는 프로세스의 집합 스케줄러의 종류 1. 단기 스케줄러(Short-term scheduler) 또는 CPU 스케줄러 다음 번에 실행될,.. 2022. 4. 11.