- Today
- Yesterday
- Total
메이쁘
[OS] MultiProgramming, MultiProcessing, MultiThreading, MultiTasking 간단 정의 및 차이점! 본문
[OS] MultiProgramming, MultiProcessing, MultiThreading, MultiTasking 간단 정의 및 차이점!
메이쁘 2020. 7. 9. 23:39안녕하세요.
이 카테고리는 "직무면접 중 CS 지식 대비" 이고,
이 게시글은 "면접 대비 간단한 정리" 입니다.
상세한 정보 또는 딥한 원리를 알고 싶으신 분은 별도의 구글 검색 또는 나무위키를 참고해주시면 감사하겠습니다.
바로 멀티프로그래밍, 멀티프로세싱, 멀티쓰레딩, 멀티태스팅 에 대해 포스팅 진행하겠습니다.
MultiProgramming
- 한 개의 CPU(프로세서) 를 가지고 작업하던 중, 어느 프로세스가 I/O(입출력) 처리를 하게 되었을 때 그 입출력 결과(키보드, 마우스, 모니터 등)를 무한히 기다리는 대신 다음 프로세스 작업을 진행하는 것.
*** 단, 다음 프로세스 작업은 I/O 가 아닌 경우 끝까지 처리한다.
- 프로세서의 작업 처리 속도와 I/O 처리 속도간 차이가 커서 프로세서가 작업을 전부 처리했음에도 불구하고 I/O 처리가 완료될 때 까지 대기했다. 그래서 프로세서의 자원을 낭비하는 일이 잦았다.
- 이를 해결하고자, 다 처리하고 대기하는 시간을 다음 프로세스 일을 처리하도록 하는 것 이다.
MultiProcessing
- 여러 개의 CPU(프로세서) 가 작업 효율을 위해 여러 프로세스를 동시에 처리하는 것.
MultiThreading
- 하나의 프로세스 내에 존재하는 여러 쓰레드(Thread) 가 동시에 실행되는 것.
MultiTasking
- 하나의 CPU(프로세서) 가 스케쥴러 알고리즘 등 에 의해 프로세스들을 번갈아가며 처리하는 것.
- 동시에 여러 프로세스(작업) 를 처리하는 개념이 아니라, 하나의 프로세서가 일정 시간 간격으로 프로세스 하나씩 번갈아가면서 처리하는 것이다.
감사합니다.
'면접 대비 CS지식 > else' 카테고리의 다른 글
[SW CS] 객체 지향 프로그래밍(OOP : Object-Oriented Programming) 은 무엇일까? (feat.절차적 프로그래밍) (0) | 2020.09.06 |
---|---|
[OS][language] signed 와 unsigned 의 차이 간단 비교 정리! (4) | 2020.07.11 |
[컴퓨터구조] CPU와 RAM, 그리고 ROM(HDD, SDD 등) 에 대한 깔끔 심플 정리!! (2) | 2020.07.08 |
[Hash][Encryption] Hash(해시) 와 Encryption(암호화) 알고리즘의 가장 큰 차이점은? (0) | 2020.07.01 |
[SW CS] MVC 패턴에 대해서(Feat. 디자인 패턴이란??) (2) | 2020.02.28 |