본문 바로가기

multi tasking

(2)
[Linux] Scheduling과 Context Switching Multi Tasking와 Multi Processing에서 언급한 OS의 Scheduling을 이해를 위한 글이다.Multi TaskingScheduling 대해서 보기전에 Multi Tasking을 살펴보자. 예제는 CPU의 core는 1개이고, process는 2개이다. Process A는 스레드가 1개, Process B는 스레드가 2개 있다. 프로세스는 실행 환경과 자원을 제공하는 컨테이너 역할이고, 실제 CPU 코어를 사용해서 코드를 하나 하나 실행하는 것은 스레드이다. 1. CPU의 Core가 Process A에 있는 Thread A1를 실행한다. 2. Process A에 있는 Thread A1의 실행을 잠시 멈추고 Process B에 있는 Thread B1를 실행한다. 3. Process ..
[Linux] Multi Tasking와 Multi Processing Multi Tasking단일 프로그램 실행예를 들어, 연산을 처리하는 CPU 코어를 하나라고 가정한다. 이때, 음악 프로그램으로 노래를 들으면서 워드 프로그램을 사용하면 어떻게 되나? 음악 프로그램을 종료된 이후에 워드 프로그램으로 문서 작업을 할수 있다. 프로그램의 실행은 프로그램을 구성하는 코드를 순서대로 CPU가 연산하는 것이다. 앞서 가정했듯이 CPU 코어가 하나라면, 한번에 하나의 프로그램의 코드를 실행할수 있다.  이러한 문제점을 해결하기 위해서, 하나의 CPU 코어로 여러 프로그램들을 동시에 실행하는 multi tasking 기술이 등장했다. Multi Tasking이란?컴퓨터 시스템에서 하나의 코어로 동시에 여러 작업(프로그램)을 수행하는 능력을 Multi Tasking이라 한다. 다만,..