목록운영체제(OS) (14)
yoongrammer

목차스레드(Thread) 알아보기스레드(Thread)란 프로세스 내에서 실행되는 흐름의 단위를 말합니다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있습니다.이러한 실행 방식을 멀티스레드(multi-thread)라고 합니다.그림을 보면 스레드는 자신만의 고유한 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택을 가지고 코드 , 데이터 및 OS 리소스(예 : 열린 파일 및 신호)는 프로세스 내의 다른 스레드와 공유합니다. 스레드마다 고유한 자원(PC, 레지스터 집합, 스택)을 가지고 있는 이유는 독립적인 함수 호출을 가능하게 하여 독립적인 실행 흐름을 추가하기 위해서입니다. 프로세스 vs 스레드 주요 차이점프로세스와 스레드..

문맥 교환 (Context switch) 알아보기 문맥(context)은 프로세스의 상태 정보를 의미합니다. 문맥 교환(context switch)은 프로세스의 상태 정보를 교환하는 작업입니다. 자세히 설명하자면 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해 이전의 프로세스의 상태를 PCB에 보관하고 또 다른 프로세스의 정보를 PCB에서 읽어 레지스터에 적재하는 과정입니다. 문맥 교환은 멀티태스킹(=멀티프로세싱)이 가능하도록 해줍니다. 멀티태스킹 : 다수의 프로세스가 하나의 CPU 자원을 나누어 사용하는 것 하나의 CPU에서 여러 개의 프로세스가 동시에 수행되는 것처럼 보이는 이유는 문맥 교환이 빠르게 일어나고 있기 때문입니다. 문맥 교환 중에는 다른 작업을..

프로세스 제어 블록 (PCB: Process Control Block) 알아보기 PCB(Process Control Bolock)는 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조입니다. 운영체제에서 프로세스는 PCB로 표현됩니다. 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거됩니다. CB는 프로세스 상태 관리와 문맥 교환(Context switch)을 위해서 필요합니다. 운영체제에 따라 PCB에 포함되는 항목이 다를 수 있지만, 일반적으로 다음과 같은 정보가 포함되어 있습니다. 포인터 프로세스의 현재 위치를 저장하는 포인터 정보입니다. 프로세스 상태 프로세스의 각 상태 (생성(New), 준비(Ready..

목차프로세스 알아보기 (메모리 구조, 상태 전이)프로그램 (Program)프로그램은 작업을 수행하기 위해 컴퓨터에 제공되는 일련의 명령어들의 모음입니다.프로그램은 보조기억장치(디스크)에 저장되어 있고 엑셀, 메모장 같은 실행파일일 수 있으며 컴파일된 결과물뿐만 아니라, 프로그래머가 작성한 소스코드까지도 포함됩니다. 다음은 C 언어로 작성된 간단한 프로그램입니다.void main() { printf("Hello\n");}프로세스 (Process)프로세스는 실행 중에 있는 프로그램을 의미하며, 작업(Job) 또는 태스크(Task)라고도 합니다.프로그램이 메모리에 적재(Load)되는 순간 프로세스가 됩니다.프로세서(Processor)프로세스가 동작될 수 있도록 하는 하드웨어(=CPU)입니다.- 동작: 프로그..