일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Multi-level Queue
- Reentrant
- 커널 모드
- 스레드 동기화
- Activity
- The Banker's Algorithm
- 뮤텍스(Mutex)
- Light Weight Process
- 커널 모드의 동기화
- 방금 그 곡
- Process Control Block
- 프로세스
- 모니터(Monitor)
- 유저 모드
- Non-Preemptive
- 인터락 함수
- 경량 프로세스
- 프로세스 제어 블록
- 문맥 교환
- The DIning Philosopher Problem
- 임계 구역
- 스레드
- Stack영역
- 프로세스 상태 전이도
- 은행원 알고리즘
- 동기 비동기
- Heap영역
- 블로킹 논블로킹
- 교착 상태
- 유저 모드의 동기화
목록프로세스 (3)
Blog For Me
멀티 프로세스 멀티 프로세스는 하나의 응용 프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하게 한다. 장점 안정성이 확보된다. 여러 개의 자식 프로세스 중 하나에 문제가 발생하면 그 자식 프로세스만 죽는 것 이상으로 다른 영향이 확산되지 않는다. 별도의 동기화 작업이 필요하지 않다. 단점 Context Switching(문맥 교환) 과정에서 오버헤드가 발생할 가능성이 농후하다. 프로세스는 각 독립된 메모리 영역을 할당받았기 때문에 공유하는 메모리가 없다. 그러므로 캐시 메모리 초기화 등의 무거운 작업이 진행되고 많은 시간이 소모되는 등의 오버헤드 발생 문제가 존재한다. 프로세스 간 통신 과정이 복잡하다. 위에서 언급했듯이, 프로세스는 각 독립된 메모리 영역을 할당받았으므로 프로..
Program(프로그램) 프로그램은 어떤 작업을 위해 실행할 수 있는 파일을 의미한다. 다시 말해서, 파일 시스템에 존재하는 실행파일이 프로그램이다. 예를 들어, 내 pc에 깔려있는 Zoom, 크롬, 한글 등의 파일들을 프로그램이라 볼 수 있다. Process(프로세스) 내 pc에 깔려있는 프로그램들을 더블 클릭하여 실행하고자 하면 운영체제는 그 프로그램을 실행시킨다. 여기서 프로그램을 실행하게 되면 CPU를 차지하면서 수행하는 수행 주체가 프로세스이다. 즉, 프로그램의 한 개의 인스턴스가 프로세스이다. 프로그램은 하나지만, 이 프로그램을 실행하는 인스턴스는 여러 개일 수 있다. 예를 들어, 인터넷 검색을 이용하기 위해 크롬 실행파일을 클릭하면 크롬 실행 창이 뜰 것이다. 여기서 크롬 창을 여러 개 만들..
프로세스는 실행의 흐름에 따라 상태가 바뀐다. 일반적으로 프로그램의 실행 흐름은 5가지의 상태를 지닌다. 프로세스의 5가지 상태 생성(New): 프로세스 생성 상태 준비(Ready): 프로세스가 CPU에 할당받기를 기다리는 상태 실행(Running): 프로세스가 CPU에 할당받아서 실행 중인 상태 대기(Waiting): 프로세스가 입출력이나 이벤트를 기다리는 상태 종료(Terminated): 프로세스가 실행일 끝내고 종료한 상태 프로세스의 상태 전이 admitted: 프로세스 생성을 승인받음 dispatch: 준비 상태에 있는 여러 프로세스들 중 하나가 스케줄러에 의해 실행되는 상태 Interrupt: Timeout, 입출력 등이 발생하여 현재 실행 중인 프로세스를 준비 상태로 전환하고, 해당 작업을 먼..