멀티태스킹과 멀티프로세싱단일 프로그램 실행만약 프로그램을 2개 이상 동시에 실행한다고 가정해보자. 예를 들어서 음악 프로그램을 통해 음악을 들으면서, 동시에 워드 프로그램을 통해 문서를 작성하는 것이다. 여기서는 연산을 처리할 수 있는 CPU 코어가 1개만 있다고 가정하겠다.프로그램의 실행이란, 프로그램을 구성하는 코드를 순서대로 CPU에서 연산(실행)하는 일이다. 위 이미지에서 CPU 코어는 하나이기 때문에 한 번에 하나의 프로그램 코드만 실행할 수 있다. 만약 하나의 프로그램 안에 있는 코드를 모두 완료한 후에야 다른 프로그램의 코드를 실행할 수 있다면 사용자는 매우 불편할 것이다. 바로 이러한 문제를 해결하기 위해 하나의 CPU 코어로 여러 프로그램을 동시에 실행하는 "멀티태스킹" 기술이 등장했다...
Milti Process Milti Process란 2개 이상의 프로세스가 동시에 실행되는 것을 말한다. 이 때 프로세스들은 CPU와 메모리를 공유하게 된다. memory의 경우에는 여러 프로세스들이 각자의 memory영역을 차지하여 동시에 적재되는데, 하나의 CPU는 매 순간 하나의 프로세스만 연산이 가능하다. 하지만 CPU의 처리 속도는 상당히 빠르기 때문에 여러 프로세스들이 CPU에서 번갈아 실행되어도 사용자 입장에서는 마치 여러 프로그램이 동시에 실행되는 것처럼 느껴진다. 이처럼 CPU의 작업시간을 여러 프로세스들이 조금씩 나누어 쓰는 시스템을 시분할 시스템(time sharing system)이라고 한다. 메모리 관리 여러 프로세스가 동시에 memory에 적재된 경우, 서로 다른 프로세스의 영역..
- Total
- Today
- Yesterday
- Spring
- 스프링부트
- 인프런
- 리팩토링
- Algorithm
- kotlin
- 스프링 부트
- 노마드
- 북클럽
- 알고리즘
- spring boot
- 릿코드
- 정렬
- mysql 8.0
- 코틀린
- 노마드코더
- 데이터베이스
- webflux
- 백준
- MySQL
- 문자열
- 자료구조
- leetcode
- 김영한
- Real MySQL
- 그리디
- 구현
- 코테
- 스프링
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |