꾸준하게 기록하기
article thumbnail
Published 2022. 2. 22. 16:19
프로세스 스케쥴링 CS/운영체제

 

- 프로세스 : 메모리에 올려져서 실행 중인 프로그램

- 응용 프로그램 != 프로세스 

- 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음

- 하나의 응용 프로그램은 여러 개의 프로세스가 상호작용을 하면서 실행될 수도 있음

 

1. 배치 처리 시스템 

→ Application1 이 실행 끝나면 바로 다음 Application2 가 실행 : First In First Out ( 자료구조의 큐와 비슷 )

 

 

Q 왜 배치 처리 시스템을 사용하지 않고 멀티 프로그래밍, 시분할 시스템이 사용될까?  

 → 배치 처리 시스템은 여러 프로그램을 순차적으로 실행시키는데 어떤 프로그램은 너무 시간이 많이 걸려 다른 프로그램을 실행하려면 많은 시간을 기다려야 하는 문제가 있다. 

 

예를들면, 음악을 들으면서 문서 작업을 할 수 없고(동시에 여러 응용 프로그램 실행 불가), 여러 사용자가 동시에 하나(컴퓨터 응답시간)의 컴퓨터를 쓸 수 없는 문제(다중 사용자 지원 불가)가 있다.

 

그래서 멀티 프로그래밍, 시분할 시스템이 사용되는 것이다.

 

2. 시분할 시스템

다중 사용자 지원 위해 컴퓨터 응답 시간을 최소화하는 시스템   (특정시점마다 다른 프로세스로 교체)

시간을 잘게 분할해서 응용프로그램을 조금씩 바꿔가면서 실행하면 컴퓨터 응답시간이 짧아진다.

 

3. 멀티 태스킹

단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템

 

멀티 태스킹의 예

프로그램 1, 2를 인지하지 못할 만큼 빠르게 반복 실행하면 동시에 실행되는 것처럼 보인다.

ex. mp3 음악(응용 프로그램) 들으면서 문서를 작성(응용 프로그램) 한다.

   사람이 인지 못할 만큼 짧은 시간동안 프로그램을 실행시켜

    사람이 보기에는 응용프로그램이 동시에 실행되는 것처럼 보인다.

 

4. 멀티 태스킹과 멀티 프로세싱

출처 : https://donghoson.tistory.com/15 

멀티 태스킹

  • 단일 CPU 
  • 어느 시점에 실행되는 응용프로그램은 하나이지만 시간을 잘게 쪼개서 마치 동시에 실행되는 것처럼 보이는 시스템

멀티 프로세스

  • 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화 시키는 시스템
  • 하나의 응용프로그램이 여러 CPU를 사용
  • 특정 응용프로그램의 실행시간이 오래 걸릴 경우, 다른 응용프로그램은 그만큼을 기다려야 하는 단점이 있다.

 


 

정리 

1. 배치 처리 시스템

2. 시분할 시스템 : 다중 사용자 지원, 응답시간 최소화

3. 멀티 태스킹 : 동시 실행하는 것처럼 보이도록

4. 멀티 프로세싱 : 여러 CPU 하나의 프로그램을 병렬로 실행 시키는 시스템

 

 

 

 

 

제로베이스 컴퓨터 공학 전공자 따라잡기 강의 시청 후 정리한 내용입니다.

 

728x90
profile

꾸준하게 기록하기

@:_:

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!