본문 바로가기

os3

[운영체제] 10. 병행 프로세스 병행 프로세스 병행 프로세스의 개념 병행 프로세스 : 프로세스는 한 번에 한 가지 일만 수행할 수 있지만 _운영체제_가 프로세서를 빠르게 전환하여 프로세서의 시간을 나눠서 마치 여러 프로세스를 동시에 실행하는 것처럼 보이게 하는 것++을 뜻한다. 병행 프로세스는 단일 처리에어 서로 독립적으로 작업을 수행하는 독립 프로세스, 그리고 다른 프로세스와 협력하여 특정 기능을 수행하는 협력 프로세스로 나뉘게 된다. 독립 프로세스 단일 처리 시스템에서 수행하는 병행 프로세스 방식으로 다른 프로세스에는 영향을 주고 받지 않으면서 독립적으로 실행된다. 단일 프로그래밍 다중 프로그래밍 다중 처리 협력 프로세스 협력 프로세스는 다른 프로세스와 영향을 주고 받으며 상호작용으로 특정 기능을 수행하는 비동기적 프로세스 이다. .. 2019. 12. 9.
[운영체제] 9. 스레드의 구현 스레드의 구현 스레드는 운영체제에 따라 다양하게 구현될 수 있는데, 주로 세 가지 형태로 구분된다. 1. 사용자 수준 스레드 스레드 라이브러리를 이용하여 작동하는 형태 다대일 (n:1) 매핑 2. 커널 수준 스레드 커널(운영체제)에서 지원하는 형태 일대일 (1:1) 매핑 3. 혼합형 스레드 사용자 수준 스레드 + 커널 수준 스레드의 형태 다대다 (n:n) 매핑 1. 사용자 수준 스레드 사용자 수준 스레드는 사용자 영역의 스레드 라이브러리로 구현하고, 스레드와 관련된 모든 행위를 사용자 영역에서 하므로 커널이 스레드의 존재를 모른다. 여기서 스레드 라이브러리는 스레드의 생성과 종료, 스레드간 메시지 전달, 스레드의 스케쥴링등을 보관한다. ex) Phtread, Win32 Thread, Java Thread.. 2019. 12. 9.
[운영체제] 8. 스레드의 개념과 상태 변화 스레드의 개념과 상태 변화 스레드의 개념 프로세스에는 두 가지 특성이 존재한다 자원, 제어. 이 중 제어 부분만 분리한 실행 단위를 스레드(Thread)라고 한다. 프로세스는 실행중인 프로그램 객체 자체를 의미하는 것이고 스레드는 이 실행의 흐름을 이야기 한다. 스레드는 프로세스의 직접 실행 정보를 제외하고 나머지 프로세스 관리 정보를 공유한다. 프로세스 직접 실행 정보: PC, SP, 스택, 지역 데이터, 문맥 정보 독립적 소유 각기 다른 프로시저를 호출하고 다른 실행을 기록하기 때문에 별도의 공간 필요 프로세스 관리 정보: 코드, 전역 데이터, 힙 공유 스레드들이 동시에 코드의 동일한 부분을 실행할 수 있어야 하므로 공유된 공간 필요 경량 프로세스 LWP,Light_Weight_Process 스레드 .. 2019. 12. 9.