[운영체제] 멀티 프로그래밍, 멀티 프로세싱, 멀티 태스킹(시분할)

James·2023년 12월 20일
0

운영체제

목록 보기
6/13
post-thumbnail

멀티 프로그래밍


개념 : 하나의 CPU가 한번에 하나의 프로세스만 실행하는 것이 아니라 여러 프로세스를 번갈아 가면서 실행하도록 하는 것을 의미한다.

멀티 프로그래밍은 효율적인 자원 사용에 초점을 맞춘 것이다.

한 프로그램이 입출력 작업등으로 대기상태 일때 CPU는 다른 프로그램을 실행해서 자원을 낭비하지 않도록 한다.

멀티 프로세싱(Multi-processing)


프로세서(Processor)CPU이다.

개념 : 보통 하나의 프로세서(CPU)가 하나의 작업을 맡지만 멀티 프로세싱은 다수의 프로세서(Processor)가 다수의 작업을 함께 처리하는 것이다.

멀티 프로세싱 장점

  • 단일 프로세서 시스템 보다 더 많은 작업을 빠르게 처리 할 수 있다.
  • 신뢰성가용성 : 하나의 프로세서가 고장나도 다른 프로세서에서 수행하고 있기 때문에 작업이 정지되지 않는다.
  • 비용의 절감: 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용한다면 각 데이터를 각 프로세서에게 할당할 필요 없이 하나의 공간에 데이터를 저장한 후 이를 공유하여 사용하도록 한다면 비용적으로 절감할 수 있다.
    -확정성이 좋다.

멀티 스레딩(Multi-Threading)


  • ​멀티 스레딩은 하나의 프로세스를 다수의 스레드로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상시키는 것을 의미한다.

멀티 태스킹(Multi-tasking)

개념 : 멀티 태스킹은 다수의 작업을 운영체제의 스케줄링에 의해 번갈아 가며 수행되도록 해주는 것을 의미한다.

다수의 작업을 스케줄링하여 우리가 느끼지 못하는 시간마다 작업을 번갈아가며 수행하여 우리 눈에 동시에 수행되는 것처럼 보이게 해준다.

  • 멀티 프로그래밍 방식

  • 시분할 방식(Time-sharing)
    : CPU의 전체 사용 시간을 작은 작업 시간량으로 분할하여 그 시간량 동안 작업에게 번갈아가며 CPU를 할당해 주는 방식

  • 실시간 시스템 방식(Real-time)

profile
의미있는 성장의 태도, 긍정적인 사고를 지닌 Deveolper

0개의 댓글