CS/OS

CS/OS

[OS] 스레드 (Thread)

스레드(Thread) 란 ? 스레드란 프로세스 내에서 실행되는 흐름의 단위 혹은 CPU 스케줄링의 기본 단위라고 할 수 있다. 프로세스 하나만을 사용하여 프로그램을 실행하기에는 메모리의 낭비가 발생하는데 스레드는 프로세스와 다르게 스레드 간 메모리를 공유하며 작동한다. 스레드는 운영체제의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 시퀀스이다. 하나의 프로세스는 하나 이상의 스레드를 갖고 있다. 스레드의 특징은 다음과 같다. 스레드는 각자 자신의 Stack 영역을 보유한다. 스레드는 프로세스 내에서 Code, Data, Heap 영역을 공유한다. 스레드를 생성하고 switching 하는 것은 inexpensive 하다. 스레드와 프로세스의 차이 프로세스는 각자 프로세스간 통..

CS/OS

[OS] 프로세스와 PCB

프로세스 (Process) 프로그램이 실행된다는 것은 해당 코드가 메모리에 올라와 작업이 진행된다는 의미이다. 흔히 프로그램이 실행되면 프로세스가 된다는 표현을 하는데 프로그램은 저장장치에 저장되어 있는 정적인 상태, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태이다. 즉, 프로그램이 실행되면 이것은 프로세스라고 불린다. 프로세스로의 전환 먼저 운영체제는 프로그램을 메모리의 적당한 위치로 가져오며 PCB(Process Control Block)라는 제어 블록을 생성한다. PCB에는 프로세스 실행에 필요한 여러가지 정보가 담겨있는데, 쉽게 이야기 하자면 프로세스는 요리를 만드는 과정이고 PCB는 요리를 만들 때 고려할 사항들을 적어놓은 주문서라고 볼 수 있다. 어떤 프로그램이 프로세스가 되었다는 것은..

엥재
'CS/OS' 카테고리의 글 목록 (2 Page)