본문 바로가기

반응형

프로세스

(3)
CPU 스케줄링 & 선점형, 비선점형 스케줄링 [ 운영체제(OS) 면접 질문 3] 스케줄(Schedule) 우리는 시간에 따라 세운 계획을 표현할 때 "일정, 계획, 시간표, 스케줄" 등등의 단어를 사용한다. CPU 스케줄링은 위의 정의를 그대로 사용한다. "시간"이라는 자원 아래에서 CPU가 처리할 작업들의 일정과 계획을 세우는 것이다. 어떤 프로세스를 실행시켜야 하는지는 CPU 스케줄러에 달려있다. 어떤 목적과 어떤 정책을 중점으로 CPU 스케줄러를 운영해야 하는지를 살펴본다. CPU 스케줄링 작업(스레드)의 형편성과 효율성을 결정하는 중요한 일을 한다. 어떤 작업에 CPU를 배정할지 결정하는 것이다. CPU 스케줄러는 프로세스의 "생성"부터 "종료"까지 모든 상태 변화를 "조정"한다. CPU 스케줄링의 목적 1. 공평성 - 모든 프로세스가 자원을 공평하게 배정받아야 한다. 자원 ..
멀티프로세싱(multiprocessing)과 멀티스레딩(multithreading)의 차이점 [ 운영체제(OS) 면접질문 2] why OS 관련 단골 질문 중 하나이다. 프로세스와 스레드의 차이점을 물어본 후에 깊게 들어올 수 있는 질문이라고 생각한다. 둘 다 컴퓨팅의 효율성을 위한 기법[병렬 처리]이다. 멀티 프로세싱은 OS의 관점에서 프로세스를 여러개 운영하는 방법이고 멀티 스레딩은 하나의 프로세스에서 내부 기능을 동시에 실행시키는 방법이다. 현대의 하드웨어는 다중 CPU, 다중 코어를 지원하기에 병렬 처리와 관련된 지식은 상당히 중요하다. 배경 면접질문1에서는 스레드와 프로세스의 차이점을 살펴보았다. 스레드는 프로세스에 속하는 단위로 프로세스는 하나이상의 스레드를 소유한다. 그리고 CPU는 스레드 단위로 작업을 처리한다. 현대의 프로그램은 많은 기능들을 제공해줘야 한다. 네트워크를 사용하고, 하드디스크에서 파일을 읽어오고,..
프로세스(Process)와 스레드(Thread)의 차이점. [ 운영체제(OS) 면접 질문 1] Why 운영체제 관련 면접 질문으로 첫 번째로 물어볼 수 있는 질문이다. 프로세스라는 개념은 상당히 중요한데 OS의 관점에서 하나의 "작업"단위가 되기 때문이다. 프로세스와 관련된 정보(혹은 정책)들만으로도 다른 면접 질문으로 빠르게 뻗어나갈 수 있다. 1. 프로세스의 상태 2. CPU 스케줄링 정책 3. 스레드 4. 멀티 프로세스와 멀티 스레드 5. 프로세스에 대한 세부적인 정보(PCB) 6. 컨텍스트 스위칭 등등 등등.. 그렇기에 해당 질문을 통해 프로세스가 무엇인지, 스레드는 무엇인지 잘 설명할 수 있어야 한다. 해당 질문에 아쉬운 답변을 한다면 OS 파트에서 더 이상의 질문이 들어오지 않고 다음 섹션(프로그래밍, 네트워크, 보안, DB 등등으로 넘어가게 될 수 있다.) 나의 답변 프로세스와 스레드..

반응형