Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- nomaltic place
- kali
- 리눅스 기초
- 노말틱
- Error
- 칼리
- nomaltic
- shell
- Linux
- 보안
- kali linux
- Bandit
- Web shell
- MariaDB
- mysql
- 리눅스
- Vitual Disk Image
- 기초
- 네트워크
- 칼리 리눅스
- Virtual Box
- VDI
- Normaltic
- virtualbox
- Bitnami
Archives
- Today
- Total
게으른 개발자
3강-2. Process2 본문
Thread
Thread : 프로세스 내부에 cpu 수행 단위가 여러 개 있는 경우
- 프로세스 하나에서 공유할 수 있는건 최대한 공유한다. (프로세스 상태, 각 종 자원)
- 단, cpu 수행과 관련된 정보는 별도로 관리한다.(프로그램 카운터, 레지스터, stack 공간)
같은 일을 하는 프로세스를 여러개여러 개 하고 싶으면, pc 만 여러 개를 두면 된다.(cpu 수행 단위를 여러 개 둔다.)-> thread
아래 이미지 참고
Thread를 사용할 때 장점.
예시 : 네이버 웹 화면을 띄울때, 스레드를 하나만 사용할 때는 화면이 전부 완성할 때까지는 창이 안 떠서 답답하다.
그러나 여러개의 스레드를 사용하게 되면 화면이 들어온 데이터를 즉각 반영해서 화면에 띄어준다.
- 스레드를 사용하면 자원 낭비를 줄일 수 있다.
- 하나에 프로세스에 스레드를 여러개 두면 성능향상, 자원 절약을 할 수 있다.
- 병렬성 장점.
위 이미지 중 binary용어 부분은 무시하자.
스레드 사용시 장점 정리
1. 응답성( ex : 멀티 스레드 웹-> 네트워크를 요청(i/o)한 스레드만 블록, display 하는 스레드는 continue)
2. 자원 공유
3. economy - 빠르다는 의미임. 스레드간에 cpu switching은 오버헤드가 적다.
4. MP Architecture : Multiprocessor architecture-> 병렬적으로 일을 할 수 있다.(ex : 행렬 연산을 효율적으로 할 수 있다.)
스레드 구현
- Kernel Threads
- 스레드가 여러개 있다는 사실을 운영체제가 알고 있다.
- 하나의 스레드에서 다른 스레드로 cpu가 넘어가는 것도 커널이 cpu 스케줄링하듯이 넘겨준다.
- User Threads
- 프로세스 안에 스레드가 여러개 있다는 사실은 운영체제는 모른다.
- 유저 프로그램이 라이브러리의 도움을 받아서 스레드를 관리한다.
'cs > 운영체제' 카테고리의 다른 글
4강-2. Process Management 2 (0) | 2023.11.03 |
---|---|
4강-1. Process Management 1 (0) | 2023.11.03 |
3강-1. Process1 (1) | 2023.11.03 |
2강-2. System Structure & Program Execution 2 (0) | 2023.11.02 |
2강-1. System Structure & Program Execution 1 (1) | 2023.11.02 |