OperatingSystem(40)
-
[운영체제][프로세스관리] 쓰레드 #2 다중 쓰레드 모델(Multithreading Model)
학습목표 1. 사용자 쓰레드와 커널 쓰레드는 어떤 연관 관계가 존재하는지 학습 2. 사용자 쓰레드와 커널 쓰레드간의 연관 관계를 확립하는 3가지 일반적인 방법 학습 2. 다중 쓰레드 모델(Multithreading Model) 사용자 쓰레드와 커널 쓰레드의 관계 사용자 쓰레드는 커널 영역의 상위에서 지원되며 일반적으로 사용자 수준의 라이브러리(POSIX의 pthread, Java 라이브러리 등)를 통해 구현됩니다. 사용자 쓰레드는 커널 위에서 지원되며 커널의 개입 없이 관리됩니다. 반면 커널 쓰레드는 운영체제에 의해 직접 지원되고 관리됩니다. 거의 모든 운영체제들은 커널 쓰레드를 지원합니다. 사용자 쓰레드와 커널 쓰레드 간에는 연관 관계가 존재해야 하고 대표적으로 연관 관계를 확립하는 네 가지 일반적인 ..
2022.01.25 -
[운영체제][프로세스관리] 쓰레드 #1 쓰레드란 무엇인가?
학습목표 1. 다중 쓰레드 컴퓨터 시스템의 기초를 이루는 CPU 이용의 기본 단위인 쓰레드를 학습함 2. 쓰레드의 사용 이유와 장점에 대해서 학습함 1. 쓰레드(Thread)란 무엇인가? 쓰레드는 CPU 이용의 기본 단위입니다. 쓰레드는 다른 말로 경량(lightweight) 프로세스라고 불립니다. 일반적인 프로세스는 하나의 제어 쓰레드를 가지고 있습니다. 이와 같은 프로세스를 중량(heavyweight) 프로세스라고 부릅니다. 일반적으로 하나의 제어 쓰레드를 가지고 있는 중량 프로세스는 한번에 한가지의 작업만을 수행합니다. 하지만 만약에 하나의 프로세스에 여러개의 쓰레드가 존재한다면, 프로세스는 동시에 하나 이상의 작업들을 수행할 수 있을 것입니다. 즉, 정리하면 쓰레드는 한 프로세스안에서 동시에 여러..
2022.01.25 -
[운영체제] 7. 쓰레드(Thread)의 이해
이전글 https://yonghwankim-dev.tistory.com/200 [운영체제] 6. 프로세스(Process)간 통신의 실제 이전글 https://yonghwankim-dev.tistory.com/196 [운영체제] 5. 프로세스(Process)간 통신 이전글 https://yonghwankim-dev.tistory.com/192 [운영체제] 4. 프로세스(Process)의 생성 이전글 https://yonghwankim.. yonghwankim-dev.tistory.com 개요 이전글에서는 프로세스간 통신을 하기 위해서 IPC 시스템을 구현하기 위한 대표적인 두가지 방법인 POSIX Shared memory 방법과 Pipe를 활용한 방법을 통하여 구현하였습니다. 이번 글에서는 쓰레드(Thre..
2021.12.29 -
[운영체제] 6. 프로세스(Process)간 통신의 실제
이전글 https://yonghwankim-dev.tistory.com/196 [운영체제] 5. 프로세스(Process)간 통신 이전글 https://yonghwankim-dev.tistory.com/192 [운영체제] 4. 프로세스(Process)의 생성 이전글 https://yonghwankim-dev.tistory.com/191 [운영체제] 3. 프로세스(Process)의 이해 이전글 https://yonghwankim.. yonghwankim-dev.tistory.com 개요 이전글에서는 IPC의 주요한 모델 2가지인 Shared Memory 방법과 Messaging Passing 방법에 대해서 알아보았습니다. 이번글에서는 프로세스간 통신을 위해서 Shared Memory 방법과 Messaging..
2021.12.28 -
[운영체제] 프로세스(Process)간 통신
1. 프로세스간 통신(Interprocess Communication, IPC)프로세스들은 프로세스들끼리 독립적으로 실행하거나 또는 상호협력적으로 통신하며 동시에 실행됩니다. 프로세스들끼리 독립적으로 실행된다는 의미는 프로세스간 데이터를 공유하지 않음을 의미합니다. 반대로 상호협력적으로 통신하며 수행하는 프로세스들은 데이터를 공유할 수 있으며 한 프로세스가 다른 프로세스들에게 영향을 줄 수 있음을 의미합니다. IPC(Integer-Process Communication)이란 무엇인가?IPC는 프로세스들간의 통신하는 방법을 의미합니다. 이 방법을 통하여 프로세스들은 데이터를 공유할 수 있으며, 한 프로세스에서 다른 프로세스로 데이터를 전송하거나 수신할 수 있습니다. IPC 주요 모델IPC의 주요 모델로는 ..
2021.12.21 -
[운영체제] 프로세스(Process)의 생성
1. 프로세스들의 연산들(Operations on Processes) 1.1 부모 프로세스(Parent Process)와 자식 프로세스(Child Process) 운영체제는 다음과 같은 기능을 수행합니다. 프로세스의 생성 프로세스의 종료 하나의 프로세스는 여려개의 새로운 프로세스들을 생성할 수 있습니다. 기존에 생성한 프로세스 : 부모 프로세스(Parent Process) 기존에 생성한 프로세스에 의해 새롭게 생성된 프로세스 : 자식 프로세스(Child Process) 아래의 그림은 프로세스들의 트리를 나타냅니다. 1.2 부모 프로세스(Parent Process)와 자식 프로세스(Child Process)의 실행관계 프로세스 실행에 대한 두가지 가능성 부모 프로세스와 자식 프로세스는 동시에 실행 부모 프..
2021.12.20