프로세스 3

[OS] 프로세스와 스레드(Process, Thread)

프로세스와 스레드(Process, Thread) 개인적으로 공부하면서 정리하는 글입니다. 내용에 오류가 있는 경우 댓글 달아주시면 수정하도록 하겠습니다. 프로세스(Process) 프로세스는 간단히 말하면 실행중인 프로그램입니다. 보조기억장치에 적재되어 있는 프로그램이 주기억장치에 적재되면서 프로세스 주소 공간을 할당 받고, 커널 영역에 프로세스 제어 블록(PCB)를 부여받은 프로그램을 프로세스라고 합니다. 프로세스는 CPU를 할당받는 작업의 단위입니다. 스레드(Thread) 스레드는 프로세스의 작은 흐름의 단위입니다. 하나의 큰 작업 단위를 프로세스라고 한다면, 큰 작업 내에 세부적인 작은 일들이 존재할 수 있습니다. 이런 작은 흐름들을 스레드라고 하는 것입니다. 한 프로세스에 속한 각각의 스레드들은 프..

CS/OS 2021.05.23

[OS] 프로세스 상태(Process State)

프로세스 상태(Process State) 개인적으로 공부하면서 정리하는 글입니다. 내용에 오류가 있는 경우 댓글 달아주시면 수정하도록 하겠습니다. 프로세스는 일반적으로 실행중인 프로그램이라고 말합니다. 하지만 주기억장치에 적재되어있는 프로세스 중 CPU에 할당되어 실행되는 것은 하나의 프로세스 뿐입니다.(CPU가 1개인 경우로 가정) 그래서 앞 글에서 프로세스를 주기억장치에 적재되어 커널 영역에 PCB를 부여받은 프로그램이라고 표현했는데요. 프로세스는 '실행' 상태를 포함하여 여러 상태 변화를 거치게 됩니다. 생성 상태 프로그램이 커널 영역에 PCB를 부여받은 상태를 생성 상태라고 합니다. 프로세스로 생성되고 바로 보류 준비 또는 준비 상태로 가기 때문에 잠시 거쳐가는 상태입니다. 운영체제는 프로세스를 ..

CS/OS 2021.05.23

[OS] 프로세스(Process)

프로세스(Process) 개인적으로 공부하면서 정리하는 글입니다. 내용에 오류가 있는 경우 댓글 달아주시면 수정하도록 하겠습니다. 운영체제의 역할 중 하나는 프로세스 관리입니다. 프로그램을 메모리에 적재하고 PCB(프로세스 제어 블록)을 생성하여 프로세스의 생명주기를 관리하고, 메모리에 적재되어 있는 프로세스를 CPU 스케줄링을 통해 효율적으로 CPU가 처리할 수 있도록 해주는 것인데요. CPU가 일을 하는 단위인 프로세스에 대해 알아보도록 하겠습니다. 프로그램(Program) 프로세스에 대해 알아보기 전에 프로그램이 무엇인지 먼저 알아보려고 합니다. 위키백과에서는 ''컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 모음(집합체)이다.' 라고 설명하고 있습니다. 우리가 ..

CS/OS 2021.05.22