"멀티 태스킹은 소프트웨어 기반, 멀티 프로세스는 하드웨어 기반 개념이다"
1. Multi Tasking
프로그램의 실행은 프로그램을 구성하는 코드를 순서대로 CPU에서 연산(실행)한다.
CPU 코어는 하나로 가정하고, 한 번에 하나의 프로그램 코드만 실행한다.
Ex - CPU연산이 느리다면, 음악 프로그램을 모두 실행한 다음에 워드 프로그램을 실행할 수 있다.
이를 개선하기 위해 멀티 태스킹을 사용,
하나의 CPU 코어로 여러 프로그램을 동시에 실행할 수 있는 기술.
CPU가 매우 빠르게 두 프로그램의 코드를 번갈아 수행하여, 사용자가 동시에 실행되는 것 처럼 느끼게 해준다.
각 프로그램의 실행 시간을 분할해서 마치 동시에 실행되는 것 처럼 하는 기법을 시분할 기법이라고 한다.
하나의 컴퓨터가 동시에 여러 작업을 수행하는 능력을 멀티 태스킹이라고 한다.
운영체제 소프트웨어적 관점 : 소프트웨어 기반으로 CPU시간을 분할하여 각 작업에 할당한다.
2. Multi Processing
과거에는 CPU안에 하나의 코어가 들어가있는 반면, 최근에는 하나의 CPU 안에 여러개의 코어가 들어있다.
물리적으로 각 코어마다 다른 프로그램을 실행할 수 있다.
멀티프로세싱은 둘 이상의 프로세서(CPU 코어)를 사용하여 여러 작업을 동시에 처리하는 기술.
하드웨어 장비 관점 : 하드웨어 기반으로 성능을 향상한다
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런
김영한 | 멀티스레드와 동시성을 기초부터 실무 레벨까지 깊이있게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문법을 안다?
www.inflearn.com
'JAVA' 카테고리의 다른 글
스레드 생성과 실행 - Runnable (0) | 2024.10.23 |
---|---|
스레드 생성과 실행 - 스레드 종류 (0) | 2024.10.23 |
Context switching와 스레드작업 종류(CPU-bound tasks, I/O-bound tasks) (0) | 2024.10.21 |
(스레드) Thread와 Scheduling (0) | 2024.10.21 |
프로세스와 스레드 (0) | 2024.10.21 |