프로세스(4)
-
운영체제(5), CPU Scheduling
CPU Scheduling 복습 context switching을 할 때는 실제 프로세스보다 작은 단위인 쓰레드가 선택된다. Process Execution 프로세스를 실행하는 것은 명령어를 실행하는 것이다. 명령어를 수행하다가 read from file이나 write from file이 등장하면 실제 해당 작업은 I/O 장치가 수행된다. 이때 명령어들의 집합을 수행하는 구간을 CPU burst, I/O가 끝나기를 기다리는 구간이 I/O burst이다. CPU burst vs I/O burst CPU-bound process CPU burst가 길고 I/O burst가 짧은 구간 일반적으로 사용자와 인터렉티브하지 않은 프로세스 ex) 딥러닝, 과학 계산, 시뮬레이션 프로그램 등등 일반 사용자들이 쉽게 사..
2022.12.18 -
운영체제(4), Threads & Concurrency
Threads & Concurrency 3장 내용 복습 Process: 프로그램을 실행하는 주체(단위) 프로그램은 하나지만 프로세스는 여러개일 수 있다. 예를 들어 HWP 프로그램은 하나지만 파일을 여러개 열고 있으면 프로세스가 여러개 사용될 수 있다. 구글의 크롬 브라우저는 Renderer, Plug in, Browser process가 존재해 브라우저를 열어준다. 운영체제가 이 프로세스를 관리하기 위해 PCB를 사용한다. 프로세스는 ready, running, waiting의 상태를 번갈아가며 실행된다. 레디 큐에 있는 프로세스를 선택하는 것을 스케줄링, 이를 cpu에 올리는 작업을 디스패치라 한다. 스케줄링과 디스패치를 하나의 큰 틀에서 스케줄링이라고 한다. 디스패치를 한다는 것은 cpu의 레지스터..
2022.12.18 -
운영체제(3), Processes
Processes 프로그램과 프로세스 프로그램 파일 시스템에 저장된 실행파일로 파일을 실행하면 메모리에 로딩돼서 실행된다. 프로세스 프로그램을 실행하는 주체로, cpu는 프로세스의 실행 순서를 결정하는 스케줄링의 작업도 진행한다. 프로세스 ID(PID)가 정수 숫자로 붙여진다. 이때 스케줄링은 어떤 순서로 작업을 해야 가장 효율적인지를 감안하여 알고리즘을 짠다. 프로세스는 프로그램의 실체인 인스턴스가 된다. 유닉스가 처음 등장했을 때의 가장 작은 실행 및 스케줄링 단위가 프로세스였다. 지금은 쓰레드가 가장 작은 단위이다. 메인 프레임 시절에는 프로세스라는 이름 대신 job이라고 불렀다. 최초의 OS는 IBM에서 만들었는데 이 당시에는 task라고 불렀다. 유닉스에서는 프로세스라고 이름을 정의한 것에서 이..
2022.12.18 -
우아한테코톡(8), Process vs Thread
본 포스팅은 우아한Tech의 테코톡 쿼리치님의 Process vs Thread 영상을 정리한 내용입니다. 프로세스와 쓰레드의 간단한 정의 및 특징을 위주로 정리했습니다. 쓰레드와 관련된 보다 딥한 내용은 컴퓨터 구조 수업 시간에 수강한 멀티쓰레드 파트를 복습하면 좋을 것 같다. 2022.06.13 - [강의 내용 정리/컴퓨터구조] - 컴퓨터 구조(11), Multithreading 컴퓨터 구조(11), Multithreading Multithreading 1. Multithreading Basic - thread: state한 명령어 스트림. state은 레지스터나 메모리에 있다. 쉽게 생각해서 프로그램으로 볼 수 있다. - 쓰레드 컨텍스트는 레지스터에 있는 state를 의미한다.. konghana01...
2022.08.22