일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 리눅스 마스터 1급
- Operator
- Mac
- descriptive statistics
- preprocessing
- Entity Set
- X.org
- External Scheme
- X윈도우
- Unity
- dbms
- selenium
- 자바
- 백준
- Java
- BFS
- Physical Scheme
- 리눅스
- OOP
- spring
- Entity
- python
- systemd
- literal
- Class
- 셀레니움
- Reference Type
- Polymolphism
- Binary Search
- Inheritance
- Today
- Total
목록2024/04/12 (3)
Byeol Lo
공유 메모리를 사용한 IPC(Inter-Process Communication)은 통신하는 프로세스가 공유 메모리 영역을 설정해야 한다. 일반적으로 공유 메모리 영역은 공유 메모리 세그먼트를 생성한 프로세스의 주소 공간에 존재한다. 이 공유 메모리 세그먼트를 사용하여 통신하려는 다른 프로세스는 해당 세그먼트를 자신의 주소 공간에 첨부해야 한다. 보통 운영 체제는 한 프로세스가 다른 프로세스의 메모리에 액세스하는 것을 막는데, 공유 메모리는 두 개 이상의 프로세스가 이 제한을 해제하기로 합의해야 한다. 그런 다음에 공유 영역에서 데이터를 읽고 쓰는 방식으로 정보를 교환할 수 있다. 데이터의 형식과 위치는 프로세스에 의해 결정되며 운영 체제의 제어 아레에 있지 않게 된다. 또한 프로세스는 동시에 동일한 위치..
운영체제에서 동시에 실행되는 프로세스는 독립 프로세스 또는 협력 프로세스가 될 수 있다. 프로세스가 independent 경우에는 시스템 내에서 다른 프로세스와 데이터를 공유하지 않는다. 프로세스가 cooperating 경우에는 시스템 내에서 다른 프로세스에 영향을 주거나 받을 수 있다. 명백히 다른 프로세스와 데이터를 공유하는 프로세스는 협력 프로세스이다. 이러한 협력을 허용하는 환경을 제공하는 이유는 여러가지가 있는데, Information Sharing: 여러 응용 프로그램이 동일한 정보에 관심을 가질 수 있기 때문에, 이러한 정보에 대한 동시 액세스를 허용하는 환경을 제공해야 함 Computation Speedup: 특정 작업을 더 빠르게 실행하려면 해당 작업을 하위 작업으로 나누어야 한다. 각 ..
대부분 시스템에서 프로세스들은 동시에 실행될 수 있으며, 동적으로 생성 및 삭제가 될 수 있다. 따라서 이러한 시스템의 프로세스 생성, 종료를 위한 메커니즘을 제공해야 한다. 프로세스 생성에 관련된 메커니즘을 보자. 3.3.1 Process Creation 실행 과정 중에 프로세스는 여러 개의 새로운 프로세스를 생성할 수 있다. 생성되는 프로세스는 '부모 프로세스', 부모 프로세스에서 syscall로 생성되는 프로세스를 '자식 프로세스'라고 한다. 이러한 프로세스들은 프로세스 트리(tree)를 형성하게 된다. 대부분의 운영체제에서 프로세스는 일반적으로 정수 숫자인 고유한 프로세스 식별자(pid, process identifie)를 가지며, pid는 시스템 내의 각 프로세스에 대한 primary key가 ..