728x90

CS 스터디/운영체제 2

2번째 주제 스레드와 프로세스

설명 프로세스와 스레드 차이 프로세스: 운영체제로부터 시스템 자원을 할당받는 작업의 단위 동적인 개념으로는 실행된 프로그램을 의미한다. 스레드: 프로세스 내에서 실행되는 여러 흐름의 단위 프로세스가 할당받은 자원을 이용하는 실행의 단위 스레드는 프로세스 내에서 각각 stack만 따로 할당받고, Code,Data,Heap 영역은 공유한다.이런 차이점으로 인해 한 프로세스를 실행하다가 강제로 종료되어도 공유하고 있는 파일을 손상시키는 경우가 아니라면 아무런 영향을 주지 않지만, 스레드는 Code/Data/Heap 메모리 영역의 내용을 공유하기 때문에 어떤 스레드 하나에서 오류가 발생하면 같은 프로세스 내의 다른 스레드 모두가 강제로 종료된다. Context Switching CPU에서 여러 프로세스를 돌아가..

스케줄링 공부

스케줄링 문제 1. 스케줄링에 대해 설명하고 하는 이유에 대해 말해보자. - 여러 프로세서가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것을 말하며, 다중 프로그래밍에서 프로세서(CPU)를 할당할 프로세스를 선택할 때 전략이 필요하기 때문 2. 선점 스케줄링과 비선점 스케줄링의 차이점을 말해주세요 선점형 스케줄링은 어떤 프로세스가 CPU를 할당받아 실행되고 있는 중에도 다른 프로세스에 의해 언제든 CPU 점유를 빼앗길 수 있습니다. 이는 문맥교환 오버헤드가 크며, 대화형 시스템 또는 리얼타임 시스템에 적합합니다 반면, 비선점형 스케줄링은 선점형 스케줄링과 반대로 다른 프로세스가 절대 CPU를 빼앗을 수 없습니다. 그렇기 때문에, 프로세스의 실행이 완료되고 CPU를 반납해야지 다..

반응형