목록사용자 스레드 (2)
봉황대 in CS
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 스레드를 지원하는 운영체제에서는 프로세스를 스케줄 하는 것이 아니라, 실질적으로는 스레드를 스케줄 한다. 하지만 "프로세스 스케줄링"과 "스레드 스케줄링"의 용어는 상호 교환적으로 사용된다. 따라서 해당 책에서는 일반적인 스케줄링 개념을 설명할 경우 "프로세스 스케줄링"을 사용하고, 스레드에 국한된 개념을 가리키는 경우에는 "스레드 스케줄링"이라는 용어를 사용하고 있다. 스레드 스케줄링 앞서 스레드의 2가지 형태, 사용자 스레드와 커널 스레드에 대하여 알아보았다. 1. 사용자 스레드 : 응용 프로그램 내의 라이..
* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다. 앞서 실행 중인 프로그램을 뜻하는 프로세스에 대하여 배웠다. 프로세스는 단 하나의 진행 플로우를 갖고 있기 때문에 굉장히 제한적이다. 또한 시스템 호출을 통해 다른 프로세스를 생성할 때 많은 시간과 자원이 필요하기 때문에 오버헤드가 발생한다. (사용자 수준 문맥의 text 영역만 공유 & data, stack 영역과 커널 수준 문맥 등은 모두 복사하여 생성하기 때문이며, 이 때문에 프로세스는 중량 프로세스, heavy weight process라고도 부른다.) 새 프로세스가 해야 할 일이 기존 프로세스가 하는 ..