728x90
- 프로세스와 스레드의 차이
- 프로세스: 운영체제로부터 자원을 할당받은 작업의 단위.
스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.
운영체제가 프로세스에게 Code/Data/Stack/Heap 메모리 영역을 할당해 주고 최소 작업 단위로 삼는 반면,
스레드는 프로세스 내에서 Stack 메모리 영역을 제외한 다른 메모리 영역을 같은 프로세스 내 다른 스레드와 공유한다. - https://velog.io/@raejoonee/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%8A%A4%EB%A0%88%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4
- 프로세스: 운영체제로부터 자원을 할당받은 작업의 단위.
- 스케줄러의 종류
- 장기 스케줄러
- 단기 스케줄러
- 중기 스케줄러
- CPU 스케줄러
- FCFS
- First Come First Served 먼저 온 고객 먼저 서비스를 처리해주는 방식
할당되었던 CPU 가 반환될 때만 스케줄링이 이루어진다.
- First Come First Served 먼저 온 고객 먼저 서비스를 처리해주는 방식
- SJF
- SRT
- Priority scheduling
- RR
- https://velog.io/@raejoonee/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%9D%98-CPU-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81
- FCFS
- 동기와 비동기의 차이
- 동기는 요청을 보내고 실행이 끝나면 다음 동작을 처리하는 방식
- 순서에 맞추어 진행되기 때문에 제어하기 쉽다.
하지만
- 여러가지 요청을 동시에 처리할 수 없어 효율이 떨어진다.
ex ) 콜센터 종업원이 일을 처리하는 방식 - 콜센터의 직원은 한 손님의 전화 응대가 끝난 후에 다음 손님의 응대를 진행할 수 있음
비동기는 요청을 보내고 해당 동작의 처리 여부와 상관없이 다음 요청이 동작하는 방식
- 작업이 완료되는 시간을 기다릴 필요가 없기 때문에 자원을 효율적으로 사용 가능
하지만
- 작업이 완료된 결과를 제어하기 어려움
ex ) 이메일 - 우리는 한 사람에게 이메일을 보냈을 때 답변을 받지 않고도 이메일을 다시 보낼 수 있다. - https://ucong-9796.tistory.com/282
- 동기는 요청을 보내고 실행이 끝나면 다음 동작을 처리하는 방식
- 멀티스레드
- 장점과 단점
- 멀티스레드의 장점
Context-Switching할 때 공유하고 있는 메모리만큼의 메모리 자원을 아낄 수 있다.
스레드는 프로세스 내의 Stack 영역을 제외한 모든 메모리를 공유하기 때문에 통신의 부담이 적어서 응답 시간이 빠르다.
(Context-Switching: CPU가 프로세스를 실행하기 위한 정보, 즉 프로세스에 대한 정보입니다) - 멀티스레드의 단점
스레드 하나가 프로세스 내 자원을 망쳐버린다면 모든 프로세스가 종료될 수 있다.
자원을 공유하기 때문에 필연적으로 동기화 문제가 발생할 수밖에 없다. - https://velog.io/@raejoonee/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%8A%A4%EB%A0%88%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4
- 멀티스레드의 장점
- 장점과 단점
'항해99 3기' 카테고리의 다른 글
2021.12.15 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 데이터베이스 (0) | 2021.12.17 |
---|---|
2021.12.14 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 운영체제 (0) | 2021.12.17 |
2021.12.11 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 네트워크 (0) | 2021.12.17 |
[TIL] 2021.12.15 코딩 테스트 준비중 - 네번째 시험 : 추석 트래픽 / 면접 질문 준비 (0) | 2021.12.17 |
[TIL] 2021.12.14 코딩 테스트 준비중 - 동적 계획법 / 신나는 함수 실행 / 파도반 수열 (0) | 2021.12.17 |