일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 운영체제
- OS
- Kafka
- 파이썬
- IT
- design pattern
- Heap
- MySQL
- 자바
- Data Structure
- JPA
- react
- Spring
- Galera Cluster
- Algorithm
- spring webflux
- 네트워크
- MSA
- 알고리즘
- mongoDB
- 백준
- 자료구조
- c언어
- 디자인 패턴
- JavaScript
- Proxy
- redis
- 컴퓨터구조
- Java
- C
Archives
- Today
- Total
시냅스
멀티 쓰레딩 Thread and Concurrency 본문
멀티 쓰레딩
- cpu를 넘나들 수 없음, 커널 support 없음
- user thread : e.g. Java
- Kerner thread
- 코어에서 직접 쓰레딩을 할 수 있게 관리 한다.
- 운영체제가 직접 manage
다중 쓰레드 Multithreading models
- many to one : 가장 기본, 여러 유저 쓰레드 대 하나의 커널 쓰레드
- one to one
- many to many
스레드 라이브러리 Threads Library
- 스레드 create manage하는 API 제공
- POSIX Pthreads
- Windows thread
- Java thread : 운영체제에 따라 POSIX Pthread or Windows thread, 운영체제에 종속적이다.
암묵적 스레딩 implitcit threading
- 병행, 병렬한 디자인은 멀티 코어 시스템에서 멀티스레딩을 하는 것과 같다.
- 그리하여 컴파일러(open mp)나 라이브러리(java)가 대신 스레딩 생성, 관리책임을 지게 된다.
스레드 풀 thread pool
- 여러개 스레드를 pool에 저장해 놓고 대기하여 필요할 때 마다 사용한다.
fork, join
- fork는 java에서 쓰는 new Thread();
- join은 wait
- 명시적 스레딩이다!
'운영체제' 카테고리의 다른 글
스케줄링 알고리즘 Scheduling algorithm (0) | 2022.04.21 |
---|---|
CPU 스케줄링 CPU Scheduling (0) | 2022.04.21 |
TIL : OS Thread (0) | 2021.11.19 |
TIL : OS IPC 시스템의 사례 (0) | 2021.11.16 |
TIL : OS 프로세스 간 통신 (0) | 2021.11.14 |
Comments