티스토리 뷰
- 프로세스
사전적 의미 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램
프로세스는 운영체제로부터 시스템 자원을 할당 받는다.
*시스템 자원 : cpu, 주소 공간, 독립된 메모리 영역(code, data, stack, heap)
프로세스는 각각 독립된 메모리 영역을 할당 받는다. 즉, 프로세스끼리 메모리 영역을 공유하지 않는다.
하나의 프로세스에는 최소 한 개의 스레드가 존재한다. (기본 : 메인 스레드)
프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다.
접근하려면 프로세스 간의 통신 해야함. IPC
* IPC : inter process communication?, 파일, 소켓, 파이트... 이용
멀티 프로세스는 하나의 프로세스에 오류가 발생해도 서로 영향을 끼치지 않는다.
하지만, context switching과정에서 오버헤드가 발생한다. ( 캐쉬 메모리 초기화... 등의 작업)
why? 프로세스는 각각 독립적인 메모리 영역이 존재하기 때문에 프로세스 사이에 공유하는 메모리 공간이 없어
전환시 모든 데이터를 가져오고 캐쉬 정보를 불러와야한다.
- 스레드
사전전 의미 : 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위.
즉, 프로세스의 특정한 수행 경로이기도 하다.
스레드는 stack만 독립적으로 존재하고 메모리 영역 공유한다.
같은 프로세스 안에 있는 여러 스레드는 같은 힙 공간을 공유한다.
멀티 스레드는 context switching과정이 빠르다. 공유하지 않는 메모리 영역이 스택 영역뿐이기 때문이다.
자원 공유의 문제가 발생하여 동기화 문제가 발생할 수 있다.
'용어 정리' 카테고리의 다른 글
해쉬 테이블 (Hash tables) (0) | 2024.01.09 |
---|---|
배열(array) 정리 (1) | 2024.01.09 |
- Total
- Today
- Yesterday
- 사람검출
- 터틀그래픽 명령어
- streamlistener
- Turtle Graphic
- konlpy
- 10828번
- randrange
- 파이썬
- yolov8
- gradleload오류
- baekjoon
- 오븐시계
- JAVA오류해결
- 백준
- python공부
- 터틀그래픽
- 문제풀이
- YOLO
- springboot
- tweepy
- 터틀그래픽예제
- UnsupportedClassVersionError
- database연결
- 다인승탑승
- Kkma
- 에러발생
- 다인승
- 사람수세기
- SPRING오류해결
- randint
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |