반응형
0. 프로그램
* 의미 : 프로그램이란 우리가 작성한 코드를 빌드하여 생성하는 결과물을 의미
더해서, 프로그램을 실행하기 위해서 메모리라는 자원을 할당 받아야 하는데, 이때 자원을 할당받아 실행되는 프로그램을 프로세스라고 함
=> 프로그램이란 프로세스(실행 중인 프로그램)의 생성 및 실행 규칙들로 엮어진 파일
1. 프로세스
* 의미 : 운영체제로부터 자원을 할당받은 작업의 단위이며, 메모리에 올라와 실행중인 프로그램
=> 실행 중인 프로그램!!
* 특징
- 작업을 수행하기 위해 cpu/메모리 등의 자원이 필요함
- 프로세스 별로 독립된 메모리 공간을 사용함
- 하나의 프로세스 안에는 최소한 하나 이상의 스레드가 있음
- 새로운 프로세스를 생성하는 프로세스를 부모 프로세스, 새롭게 생성된 프로세스를 자식 프로세스라고 함
1-1. 프로그램 vs 프로세스
프로그램 | 프로세스 |
어떤 작업을 하기 위해 실행할 수 있는 파일 | 실행되어 작업 중인 컴퓨터 프로그램 |
파일이 저장 장치에 있지만 메모리에 올라와 있지 않음 | 메모리에 적재되고 cpu 자원을 할당받아 프로그램이 실행되고 있는 상태 |
=> 코드 덩어리 | => 코드 덩어리를 실행한 것 |
2. 스레드
* 등장배경 : 기술이 발전됨에 따라 프로그램이 복잡해져 프로세스 작업 하나만을 사용해서 프로그램을 실행하는데 한계 발생
* 의미 : 하나의 프로세스 내에서 동시에 진행되는 작업 갈래를 말함
=> 프로세스 안에 여러 갈래의 스레드가 있음
Resources
- https://m.blog.naver.com/kut_da_92/222683046333
느낀점...
프로세스와 스레드는 정말 잘모르고 있던 개념이었는데 이렇게 중요한 걸 이번 기회라도 잘 알게되어 다행입니다
+ 모르고 있던 건 줄 알았는데 이상해서 찾아보니 운영체제 때 배운 내용이었다,,,
반응형
'Learning Log > CS' 카테고리의 다른 글
[cs] JWT(Json Web Token) (0) | 2023.08.01 |
---|---|
[cs] 운영체제의 역할, PCB, 메모리 계층 (0) | 2023.07.31 |
[cs] 쿠키, 세션, 토큰이란 (0) | 2023.07.27 |
[cs] RESTful API란 (0) | 2023.07.27 |