운영체제11 운영체제 Chatper 4 4-3 Thread 스레드와 프로세스의 관계주요 개념:스레드: 경량화된 실행 단위로, 프로세스 내부에서 실행되는 가장 작은 단위.프로세스: 독립된 실행 단위로, 각각의 상태, 메모리 공간, 자원을 가짐.1: N + M: 1 = N: M 모델1: N: 하나의 스레드가 여러 프로세스에서 사용되며, 이는 각각 다른 컴퓨터에서 실행될 수 있음.M: 1: 여러 스레드가 하나의 프로세스에서 관리됨.Windows의 프로세스와 스레드 관리일반 속성:프로세스 생성: 새로운 프로세스로 생성되거나, 기존 프로세스의 복사본으로 생성될 수 있음. (Unix는 반드시 복사본으로만 생성 가능)스레드 필수성: 모든 프로세스는 최소 하나 이상의 스레드를 반드시 가져야 함.실행 단위: 스레드가 실행의 단위이며, 스레드 단위로 디스패치됨.동기화 도구: 프로.. 2024. 7. 18. 운영체제 Chatper 4 4-2 Thread 프로세스와 스레드프로세스스케줄링 및 실행 단위: 프로세스자원 소유 단위: 프로세스예제 시스템:MS-DOS: 1 프로세스, 1 스레드UNIX: 여러 프로세스, 각 프로세스당 1 스레드Windows, Solaris, 현대 UNIX: 여러 프로세스, 각 프로세스당 여러 스레드멀티스레딩멀티스레딩 시스템은 하나의 프로세스 내에서 여러 스레드를 지원하여 프로그램의 효율성과 성능을 향상시킵니다. 이는 동시에 여러 작업을 수행할 수 있게 합니다.프로세스 vs. 스레드프로세스: 자원 소유 단위로, 프로세스 이미지(메모리 공간)를 포함하며 CPU, 파일, I/O 자원을 보호합니다.스레드: 실행 단위로, 개별 스레드는 각각의 컨텍스트와 스택을 가지지만 프로세스의 자원을 공유합니다.단일 스레드 vs. 멀티스레드 프로세스 모델.. 2024. 7. 18. 운영체제 Chatper 4 4-1 Thread 프로세스와 스레드의 차이1. 프로세스 (Process)정의: 실행 중인 프로그램의 인스턴스.생성 방법: fork() 함수를 사용하여 부모 프로세스에서 자식 프로세스를 생성.특징:부모 프로세스의 모든 코드를 복사하여 자식 프로세스를 생성.프로세스는 독립적인 실행 단위이며, 서로 메모리를 공유하지 않음.각 프로세스는 고유한 코드, 데이터, PCB, 스택을 가짐.운영 체제는 프로세스의 독립성을 유지하며, 같은 프로그램에서 생성된 프로세스인지 여부는 중요하지 않음.2. 스레드 (Thread)정의: 프로세스 내에서 실행되는 독립적인 실행 단위.생성 방법: 프로세스 내에서 여러 스레드를 생성하여 동시 실행.특징:동일한 프로세스 내에서 스레드들은 코드, 데이터, PCB, 스택을 공유.스레드는 프로세스 내에서 여러 함.. 2024. 7. 18. 운영체제 Chatper 3 3-3 Process 운영체제의 실행방식 세 가지1. Non-process Kernel설명: 운영체제 커널을 별개의 객체로 보는 방식이다.OS Kernel은 별개의 엔티티로 시스템 내에서 실행되는 객체이다.운영체제가 작아서 메모리에 전체가 올라갈 수 있던 옛날 방식에 가능했다.OS는 특별한 권한을 가지며, 별도의 관리 방식이 필요 없다.특징:OS 전체가 메모리에 올라가 Virtual Memory를 사용할 필요가 없다.프로세스 관리 방식과 OS 커널 관리 방식이 다르다.2. Execution Within User Processes설명: 운영체제를 사용자 프로세스 안에서 실행시키는 방식이다.중요한 OS 부분을 제외한 나머지 부분들이 프로세스 안에서 실행된다.모든 사용자 프로세스는 OS 코드와 데이터를 공유한다.특징:메모리가 한정.. 2024. 6. 25. 이전 1 2 3 다음