일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- react
- javascript
- react native mac
- Expo
- 리액트 네이티브 맥
- react-native
- react native 타입스크립트
- node
- unity stencil buffer
- 싸이월드
- GitHub
- react native ios 기기 연결
- react native typescript navigate
- react native typescript
- c++ 정보은닉
- react native
- C++
- cyworld
- stencil buffer
- 스탠실 버퍼 시작
- 벡터와 리스트의 차이
- react native accessible
- CSS
- node.js
- react native typescript navigation
- html
- c++ using
- 스탠실 버퍼 튜토리얼
- 리액트 네이티브 설치 오류
- 스탠실 버퍼 사용
Archives
- Today
- Total
혀니의 이거저거 뿌시기
프로세스와 스레드의 차이 본문
728x90
프로세스와 스레드의 차이
프로세스와 스레드의 차이는 프로세스와 스레드, 그리고 프로그램이 작동하는 방식에 대해서 잘 이해하고 있는지 확인하기 위해 기술면접에서 단골 질문 사항으로 나온다.
velog.io
걍 다름.
프로그램: 파일이 저장장치에 저장되어있지만 메모리에는 올라가 있지 않은 정적인 상태
프로세스: 프로그램을 실행하여 컴퓨터 메모리에 올라가 있는 동적인 상태 (실행되고 있는 컴퓨터 프로그램)
쓰레드는 프로세스 안에 포함된 개념임
하나의 프로세스는 하나 이상의 스레드를 가진다.
프로그램 하나가 단순히 한가지 작업만을 수행할 수 없기 때문에 등장한 개념이 스레드
프로세스 | 스레드 |
프로그램을 실행하여 컴퓨터 메모리에 올라가 있는 동적인 상태 | 스레드끼리 프로세스의 자원을 공유하면서 프로세스 실행 흐름의 일부 |
운영체제가 Code/Data/Stack/Heap 메모리 영역을 할당해주고 최소 작업 단위로 삼음. 다른 프로세스의 변수나 자료에 접근 불가 | 프로세스 내에서 Stack메모리 영역을 제외한 다른 메모리 영역을 같은 프로세스 내 다른 스레드와 공유 |
다른 프로세스와 정보를 공유하려면 IPC를 사용하는 등의 번거로운 과정을 거쳐야 함 | 기본 구조 자체가 메모리를 공유하는 구조이기 때문에 다른 스레드와 정보 공유 쉬움 |
멀티태스킹: 하나의 운영체제 안에서 여러 프로세스 실행되는 것 | 멀티스레드 - 장점: 자원 아끼기 쉬움 단점: 운영체제가 스케쥴링 처리하지 않기 때문에 프로그래머가 직접 동기화 문제에 대응할 수 있어야 함 |
728x90
'CS > 운영체제' 카테고리의 다른 글
컨텍스트 스위칭 (0) | 2023.11.20 |
---|---|
페이지 폴트(Page Fault) (2) | 2023.11.20 |
프로세스가 메모리에 올라가는 방법 (0) | 2023.10.01 |
교착상태일 때의 문제점과 해결 방법 (0) | 2023.10.01 |
가상메모리와 가상메모리의 페이징 (0) | 2023.10.01 |