티스토리 뷰

CS

[OS] 1. 프로세스

5_Clock 2022. 8. 23. 20:02
반응형

1. 프로세스

프로세스란 실행 중인 프로그램이다.

Linux 운영체제에서는 다음과 같은 명령어로 실행중인 프로세스를 확인 할 수 있고,

$ ps -ef

 

Windows 운영체제에서는 작업 관리자를 켜면 볼 수 있는 것이 프로세스이다.

 

 

프로세스에는 몇가지 상태로 나눌 수 있다.

  • 생성중(new)
  • 실행중(running)
  • 대기중(waiting)
  • 준비완료(ready)
  • 종료(terminate)

여기서 다른 부분은 쉽게 이해가 가지만 대기중(waiting) 상태로 넘어가는 경우는 크게 2가지가 있다.

  1. CPU를 주어도 당장 실행하지 않음.
  2. 요청한 event가 즉시 만족하지 않음.

 

2. 스케줄러

위와 같이 프로세스가 여러 상태로 변경될 때, 다음 차례의 프로세스를 결정해주는 스케줄러가 있다.

 

장기 스케줄러

다른 말로는 job scheduler라고도 한다. 

이 스케줄러는 다중 프로그래밍의 정도를 결정한다. 

프로세스 상태에서는 new에서 ready, running에서 terminate 상태 즉, 메모리/디스크 사이의 스케줄링을 맡아서 한다.

 

단기 스케줄러

이 스케줄러는 CPU에 할당할 프로세스를 결정하는 역할을 한다.

프로세스 상태에서는 ready에서 running, wating에서 ready등의 CPU와 메모리 사이의 스케줄링을 맡아서 한다.

 

중기 스케줄러

중기 스케줄러는 시분할 시스템에서 프로세스를 메모리에서 디스크로 잠깐 옮겨놓는 역할을 하는 스케줄러이다.

이러한 경우는 컴퓨터 자원(CPU, 메모리 등)의 여유공간을 만들기 위해서이다.

중기 스케줄러를 통하게 되면 잠시동안의 suspend 상태가 된다.

 

 

3. 프로세스간 통신(IPC: inter process conmmunication)

프로세스가 같은 주소 공간을 공유하지 않아도 프로세스간에 통신하고 그들의 행동을 동기화 해주는 메커니즘이다.

프로세스간 통신에는 2가지 방법이 있다.

  1. 직접통신: 각 프로세스는 수신자 또는 송신자의 이름을 명백하게 제시하여야 한다.
    • send(P, msg), receive(Q, msg): 대칭 방식
    • send(P, msg), receive(id, msg): 비대칭 방식 - id를 통해서 통신한다.
  2. 간접통신: 직접 프로세스와 프로세스가 통신하는 방식이 아닌 메일 박스라는 공간을 이용해서 통신하는 방식이다.
728x90
반응형

'CS' 카테고리의 다른 글

[OS] 5. System call(시스템 콜)  (0) 2022.08.29
[OS] 4. 멀티 프로세스와 멀티 스레드  (0) 2022.08.29
[OS] 3. CPU Scheduling  (0) 2022.08.23
[OS] 2. 스레드(Thread)  (0) 2022.08.23
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 31
글 보관함
250x250