Process:프로세스(Process)는 운영체제로부터 자원을 할당 받은 작업의 단위
Thread:쓰레드(Thread)는 프로세스가 할당 받은 자원을 이용하는 실행 흐름의 단위
장점
단점
장점 :
더 적은 메모리 영역이 필요하므로 시스템의 자원 소모도 감소할 수 있습니다.
단점 :
프로세스에 대한 정보를 의미한다. 그 정보로는 현재 프로세스의 상태, 프로세스가 다음에 실행할 명령어, 레지스터 값, 프로세스 번호 등이다.
There are three major triggers for context switching. These are given as follows −
Multitasking:In a multitasking environment, a process is switched out of the CPU so another process can be run. The state of the old process is saved and the state of the new process is loaded. On a pre-emptive system, processes may be switched out by the scheduler.
Interrupt Handling:The hardware switches a part of the context when an interrupt occurs. This happens automatically. Only some of the context is changed to minimize the time required to handle the interrupt.
User and Kernel Mode Switching:A context switch may take place when a transition between the user mode and kernel mode is required in the operating system.
Context Switching이 높은 Overhead를 갖음에도 수행하는 이유는 그것을 감안해도 더 이득이기 때문입니다. 프로세스를 수행하다가 I/O event가 발생하여 BLOCK 상태로 전환시켰을 때, CPU가 그냥 놀게 놔두는 것보다 다른 프로세스를 수행시키는 것이 효율적이므로, Context Switching을 수행하여 CPU로 다른 프로세스를 실행시킵니다.
따라서 잦은 Context Switching은 성능 저하를 가져옵니다.
A process control block (PCB) is a data structure used by computer operating systems to store Process Metadata (all the information about a process)
The role of the PCBs is central in process management
ref
https://www.tutorialspoint.com/what-is-context-switching-in-operating-system
정보 공유: 여러 사용자가 동일한 정보에 흥미를 가질 수 있음에 따라, 병행적으로 접근할 수 있는 환경 제공
계산 가속화: task를 sub task로 나누고, 병렬 처리를 통한 계산 가속화
모듈성: 시스템 기능을 변도의 프로세스 또는 스레드로 나누어 모듈식 형태로 시스템 구성
편의성: 한 순간에 작업할 많은 task를 가질 수 있음
우편함과 같은 방식
메시지에 태그(번호)를 달아 메시지를 구분
memory space, linked list
다수의 process message passing
port간의 데이터 교환
process는 임의의 port를 담당하는 socket.
데이터 송수신을 진행
ref
https://www.geeksforgeeks.org/inter-process-communication-ipc/
https://dar0m.tistory.com/233
https://dokhakdubini.tistory.com/490
https://sweetday-alice.tistory.com/174
https://unix.stackexchange.com/questions/474946/are-sharing-a-memory-mapped-file-and-sharing-a-memory-region-implemented-based-o