OS(운영체제)
Software 중 하나로 Hardware를 제어하고 응용 프로그램을 실행하는 기본 프로그램
Process
- Program 이 OS에 의해 MEMORY 영역을 할당받고 실행중인 것
- 싱글스레드와 멀티 스레드 모두 memory 영역은 하나만 생성된다.
- multi-thread-process : 같은 Process 안에서는 메모리를 공유하기때문에 다른 스레드의 실행결과값을 바로 알 수 있다.
- 여러개의 process를 사용하면, 메모리 점유가 증가한다는 단점이 있지만, 각각의 메모리를 할당받기 때문에 보안적인 측면에서 좋다.
Code | PC(다음번에 실행될 명령어의 주소를 갖고 있는 레지스터와 코드를 저장) |
Data | global variables, static variables 저장 |
Stack(Thread) | - stack : 자료구조. - Process 가 할당된 자원을 이용하는 실행의 단위. - thread : 명령어를 처리하고 실행하는 흐름 - 하드웨어의 core는 하나의 core가 하나의 thread를 처리한다. |
Heap | manage memory, allocates dynamic memory . 동적으로 메모리를 heap을 통해 할당하기도 한다. |
Multi Process
- OS가 각각 memory 를 할당
- Inter Process Communication(IPC)으로 Process 간 소통
'개발공부 > TIL' 카테고리의 다른 글
Next.js13 프로젝트 시작부분 정리 (2) | 2024.01.25 |
---|---|
styled-components vs emotion vs tailwind (0) | 2023.05.22 |
크롬 브라우저 아키텍쳐 (0) | 2023.05.12 |
Light house (0) | 2022.10.07 |
Bundling과 Webpack (1) | 2022.09.26 |