오늘은 운영체제를 접하면 처음 배우게 되는 CPU 스케줄링과 관련된 내용을 살펴보겠습니다.
CPU 스케줄링 2 저번 시간 배웠던 것처럼 CPU스케줄링이란 프로세스들의 라이프사이클(상태)을 관리하는 것입니다. 이번 시간엔 저번 시간에 배웠던 내용을 바탕으로 CPU 스케줄링에 어떤 알고리즘이 존재하는지 살펴보겠습니다. 비선점형 알고리즘 비선점형이란 어떤 프로세스
바탕화면에 있는 프로그램을 더블 클릭하면 프로그램이 실행됩니다. 프로그램이 실행된다는 것은 해당 코드가 메모리에 올라와 작업이 진행된다는 의미와 같습니다. 흔히 프로그램이 실행이 되면 프로세스가 된다는 표현을 합니다. 프로그램은 저장장치에 저장되어 있는 정적인 상태,
프로세스들은 작업을 진행하며 서로 데이터를 주고 받아야 하는 경우가 생깁니다. 프로세스끼리 통신을 하는 경우 누가 먼저 작업할지, 언제 작업이 끝날지 등을 서로 알려주어야 하는데 이를 "동기화"라고 합니다. 프로세스 간 통신 프로세스는 시스템 내에서 독립적으로 실행되기
교착상태란 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기를 기다리며 더 이상 작업을 진행할 수 없는 상태를 말합니다. 교착상태는 아사현상과 비슷하지만 잘못된 정책으로 인해 프로세스의 작업이 지연되는 아사현상과 달리 여러 프로세스가 작업하는 환경에서 자연스럽게 발
"프로세스 내부에 CPU 수행 단위가 여러 개 있는 경우 CPU 수행 단위를 쓰레드라고 부른다." 쓰레드, 경량 프로세스라고 불리는 개념은 프로세스에 비해 다소 난해합니다. 그도 그럴것이 쓰레드는 프로세스보다 좀 더 나중에 기술이 발전되며 등장한 개념이기 때문입니다.