프로세스 2

[OS] 멀티태스킹, 멀티프로세싱, 멀티스레드

멀티태스킹, 멀티프로세싱, 멀티스레드 각각의 특징과 차이에 대해 알아보자. 이를 이해하기 위해서는 먼저 프로세스, 스레드 그리고 병렬처리에 대한 개념을 알고 있어야한다. 프로세스(Process)란, 저장장치의 프로그램을 실행하어 메모리에 load 되어진 상태이다. 프로세스 = 프로그램 + 프로세스제어블록(PCB) 스레드(Thread)란, 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위이다. 즉, 작은 단위의 일(Operation)이 모여 하나의 작업(Task)이 될 때, 이 작은 단위의 일을 수행하는 것을 스레드라고 할 수 있다. JOB > TASK > OPERATION == 작업 > 프로세스 > 스레드 병렬처리(Parallel Processing) 동시에 여러 명령을 수행하여..

CS/OS 2021.08.07

[OS] 운영체제의 프로세스 관리

운영체제의 여러 기능중에는 프로세스 관리가 있다. 이번 게시글에서는 프로세스란 무엇이며, 운영체제에서 어떻게 관리되는지 공부해보자. Process란 무엇인가? A process is a program in execution. : 프로세스란 실행중인 프로그램을 말한다. 컴퓨터의 저장소(HDD) 에는 많은 파일과 프로그램들이 있는데, 이를 실행시키기 위해 메모리에 load하면 프로세스로 불리는 것이다. 그리고 이 때, 프로세스는 다음 그림과 같이 메모리에 여러 영역으로 나뉘어 저장된다. o Text section : 소스코드의 명령어 o Data section : 소스코드의 전역변수 o Heap section : 동적 메모리 할당 (dynamic memory allocation) - ex. malloc, n..

CS/OS 2021.07.23