[운영체제] 타임쉐어링

임클·2023년 3월 24일
0

타임쉐어링

타임쉐어링 시스템은 멀티프로그래밍 개념을 확장함

메인 메모리 성능 향상 및 가격 절하로 인해 멀티프로그래밍 단점이 보안됨.

CPU가 time slice (time quantum)이라고 불리는 일정한 시간 만큼 각 프로그램에게 번갈아 시간을 주며 프로그램 실행

타임 슬라이스라는 길이는 현대 컴퓨터에서는 보통 0.1초(100msec ,, 1/10 sec)

짧은 시간동안 번걸아가면서 실행되면, A 입장에서는 0.2초만에 CPU가 자기에게 할당됨. → A입장에서는 마치 CPU가 자기한테만 있었던 것 처럼 생각

response time

  • 명령 후 cpu에서 프로그램을 실행하기 기다린 시간
  • Multi프로그램보다 Timesharing이 더 짧다 (감소됨)

Timesharing도 메인메모리에 많은 프로그램 실행함.

Mutiprogramming

  • 상대적으로 오래 실행해야하는 프로그램 모와서 차례로 실행할때 적합 (일괄처리(batch processing), background 실행)

일괄처리에서는 자기가 언제 실행될지 모르기 때문에 백그라운드로 실행함

  • 장점 : throughput 더 좋음(많음)

throughput : 단위 시간당 수행해야 되는 일의 양 → 단위 시간당 실행을 끝마친 프로그램의 수

Timesharing

  • 대화형(interactive processing) 프로그램에 적합 (ex : 문서편집, 웹브라우저 사용, foreground 실행)
  • 장점 : responetime 감소
  • 단점 : throughput 안좋음

Symmetric multiprocessing (SMP)

현대 컴퓨터는 대부분 프로세서 (CPU)를 여러개 가지고 있음

CPU를 여러개 가지고 있는 컴퓨터를 Symmetric multiprocessing Computer라 부름

Symmetric : 대칭

각각의 CPU들이 하는 일이 같은 성격의 일을 한다 해서 대칭형이다 라는 말을 붙임.

같은 성격의 일? → 첫번째 Processor(CPU)가 사용자 프로그램을 하고 두번째도 마찬가지임.

이와 반대되는 내용은 비대칭 멀티프로세싱 이라 불림

다른 전용의 역할을 수행하도록 정해진 프로세스가 있으면 그건 비대칭 멀티프로세싱이라 부름.

I/O Adapter == I/O Controller

ex)

CPU가 여러개 있는데 메인 메모리 OS는 아래 한개만 있음.

OS1번째 CPU에게 사용자프로그램 1,2,3 실행 명령

OS2번째 CPU에게 “ 4,5 실행 명령

CPU는 하드웨어 (자체로 지능 없음)
컴퓨터 내 지능 있는건 OS (작업 지시, 메인 메모리 안에 있음)
메인 메모리에 사용자프로그램 1,2,3,4,5 들어있음

멀티 프로그래밍과 멀티 프로세싱은 다른 것!!

멀티 프로그래밍은 CPU 하나 다른 시간 내 여러 프로그램 실행

멀티 프로세싱은 CPU 여러개 ,동시에 여러 프로그램 실행

위 : 멀티 프로그래밍 , 아래 : 멀티 프로세싱, 검정색 cpu가 실행중

멀티 프로그래밍 : Concurrent programming

멀티 프로세싱 : Parallel programming

profile
iOS를 공부하는 임클입니다.

0개의 댓글