목록2024/03/05 (2)
hmk run dev
CPU 스케줄링이란? 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것 컴퓨터 전체 성능과 직결되는 중요한 과정 가장 공정한 CPU 스케줄링? CPU를 사용하고 싶어 하는 프로세스들이 차례로 돌아가면 사용? 빨리 처리해야 하는 프로세스가 있기 때문에, 즉 프로세스마다 우선순위가 다르기 때문에 그리 좋은 방법이 아니다. 입출력 작업이 많은 프로세스(입출력 집중 프로세스)의 우선순위는 CPU 작업이 많은 프로세스(CPU 집중 프로세스)의 우선순위보다 높다. 대부분의 프로세스는 CPU와 입출력장치를 둘다 사용하는 경우가 많다. ex) CPU를 썼다 키보드를 쓰고, 보조기억 장치를 쓰고, 모니터를 쓰고 등등 비교적 입출력 작업을 덜쓰는 CPU 집중 프로세스들은 컴파일, 수학연산, 그래픽 계..
스레드란? 스레드는 프로세스를 구성하는 실행 흐름의 단위 하나의 프로세스는 최소 하나 이상의 스레드를 가지고 있다. 단일 스레드 프로세스 실행 흐름이 하나인 프로세스 멀티 스레드 프로세스 실행 흐름이 여러 개인 프로세스 => 프로세스를 이루는 여러 명령어 동시 실행 가능 스레드의 구성요소 스레드 ID, 프로그램 카운터를 비롯한 레지스터 값, 스택 등 실행에 필요한 최소한의 정보를 가지고 있고, 스레드는 프로세스 내에 같은 자원을 공유한다. 프로세스와 스레드의 경계는 모호하다? 멀티 프로세스와 멀티 스레드 동일한 작업을 수행하는 단일 스레드 프로세스 여러 개 실행 vs 하나의 프로세스를 여러 스레드로 실행 프로세스끼리는 기본적으로 자원을 공유하지 않지만, 스레드는 같은 프로세스 내에서 자원을 공유할 수 있..