운영체제 4

[운영체제] 스레드의 개념 정리하기

지금까지는 1. 프로세스의 개념과 2. 프로세스 내에서 메모리 구조와, 3. 프로세스 간에는 어떻게 통신할 수 있는지, 4. CPU에 어떤 프로세스를 할당할지를 운영체제가 어떻게 결정하고 스케줄링하는지 등등을 공부했다. 공부했던 내용이 기억나지 않을 땐, 리마인드를 위해 포스팅 다시 읽기! [운영체제] 프로세스 개념 정복하기 [운영체제] 프로세스 생성과 종료 / 요약 정리 [운영체제] 프로세스 스케줄링 개념 정리 스레드 (Thread) : 바늘질할 때 쓰는 실을 뜻함 프로세스 내에서 실행되는 프로그램 코드의 흐름을 말한다. 하나의 프로세스 내에는 반드시 하나 이상의 스레드가 존재한다. 각 스레드는 스레드ID, 프로그램 카운터(PC), 레지스터 집합, 스택을 독립적으로 소유한다. 같은 프로세스 내에 스레드..

[운영체제] IPC, 프로세스 간 통신 방법

프로세스 간 통신 (Interprocess Communication, IPC) 컴퓨터 시스템에서 프로그램은 혼자 독자적으로 수행할 수도 있지만 프로그램들 사이에 정보를 교환함으로서 계산 속도를 증가시키거나 편의성을 향상시킬 수 있다. 각 프로세스는 자신의 독립적인 메모리 공간을 가지고 다른 프로세스들에 의해 침범당하지 않도록 보호하고 있기 때문에 프로세스 간 통신하기 위해서는 별도의 메커니즘이 필요하다. 기본적인 프로세스 개념과 CPU 스케줄링이 막연하게 느껴질때, 아래 포스팅을 보며 다시 복습하자. [운영체제] 프로세스 개념 정복하기 [운영체제] 프로세스 생성과 종료 / 요약 정리 [운영체제] 프로세스 스케줄링 개념 정리 [운영체제] 프로세스 스케줄링 알고리즘 정리 1. 공유 메모리 (shared me..

[운영체제] 프로세스 스케줄링 알고리즘 정리

프로세스의 개념과 스케줄링에 관한 기본기가 부족하다면, 아래 포스팅 먼저 복습하고 오자. [운영체제] 프로세스 개념 정복하기 [운영체제] 프로세스 생성과 종료 / 요약 정리 [운영체제] 프로세스 스케줄링 개념 정리 프로세스 스케줄링 알고리즘 1. FCFS (First-Come, First-Served), 선입 선처리 Ready queue를 FIFO로 구현하여 들어온 순서대로 CPU를 할당한다. 구현이 제일 간단하고, 이해하기 쉽다. 비선점 스케줄링으로 Ready queue에 있는 프로세스 입장에서는 평균 대기시간이 길어질 수 있다. * 비선점 스케줄링 : 현재 실행 중인 프로세스가 자발적으로 CPU 사용을 중단하는 경우에만 CPU 스케줄링을 수행하는 방법 * 선점 스케줄링 : 운영체제의 판단에 따라 현재..

[운영체제] 프로세스 스케줄링 개념 정리

프로세스 스케줄링 = CPU 스케줄링 운영체제가 수행해야할 역할 중 가장 핵심적인 역할이다. 각각의 운영체제는 자기만의 강점이 될 수 있는 스케줄링 알고리즘을 가지고 있다. 스케줄링 큐 (queue) 운영체제가 이해하는 프로세스는 PCB이기 때문에, 스케줄링 큐는 PCB의 링크드 리스트로 관리되고 있다. 여기까지 이해가 되지 않는다면, 프로세스에 대한 기본적인 개념을 다지자. [운영체제] 프로세스의 개념 정복하기 [운영체제] 프로세스의 생성과 종료 / 요약 정리 1. Job queue : 시스템 안에 존재하는 프로세스들 2. Ready queue : 메모리 상 존재하며 실행 준비가 되어 있는 프로세스들 3. Device queue : 입출력 장치의 사용을 기다리는 프로세스들 위 그림처럼 프로세스들은 스케..