728x90
반응형

Process 2

프로세스 주소 공간

1️⃣ Code Segment 프로그램의 코드가 저장되어있다. 2️⃣ Data Segment 전역 변수(global variables)같은 데이터가 저장되어 있다. 3️⃣ Stack Segment 함수(function)나 지역 변수(local variables)가 저장되어 있다. 여기서 질문 📌 Q. 왜 Code 부분을 따로 두었나? A. Program의 Code는 Program이 만들어지고(컴파일되고) 나서는 바뀔 일이 전혀 없습니다. 따라서 읽기만 가능한 Read Only 부분입니다. 그렇기 때문에 같은 프로그램을 실행시켜 몇 개의 Prcess가 실행되더라도 같은 프로그램이라면 Code 부분은 다 똑같은 내용을 가지고 있습니다. Q. 왜 Stack 부분과 Data 부분을 나누었나? A. 전역 변수(g..

CS 2023.04.06

프로세스(process)와 스레드(thread)

프로세스(process)란? "운영체제로부터 시스템 자원을 할당받는 작업의 단위" 프로세스 간 통신(IPC, Inter-Process Communication)이 필요한 경우 운영체제가 제공하는 메커니즘을 사용하여 통신합니다. 각 프로세스는 다른 프로세스의 데이터나 상태에 직접적으로 접근할 수 없으며, 운영체제를 통해서만 접근할 수 있습니다. 스레드(thread)란? "프로세스 안에서 실행되는 여러 흐름 단위" 프로세스의 자원을 공유하면서 실행되므로, 각 스레드는 독립적인 실행 흐름을 가지지만, 해당 프로세스 내에서는 공유되는 메모리 영역을 통해 서로 통신할 수 있습니다. 이러한 특징 때문에, 스레드는 프로세스보다 가볍고 빠르게 생성되며, 자원의 효율적인 사용이 가능합니다. 그러나, 각 스레드는 서로의 ..

CS 2023.04.06
728x90
반응형