반응형 Computer Science/시스템 프로그래밍12 IPC (Inter-Process Communication) 이 수업의 마지막 챕터인 IPC에 대해 알아보자. 알아볼 내용은 다음과 같다. IPC 메세지 패싱(Message passing) 공유 메모리(Shared memory) Signals Pipes 클라이언트-서버 시스템의 통신 소켓 원격 프로시저 호출(Remote Procedure Calls, RPCs) IPC 시스템 내의 프로세스는 독립적(independent)이거나 협력적(cooperating)일 수 있다. 독립된 프로세스는 다른 프로세스의 실행에 영향을 미치거나 받을 수 없다. 협력 프로세스는 데이터 공유를 포함하여 다른 프로세스에 영향을 미치거나 영향을 받을 수 있다. 프로세스가 협력하는 이유는 다음과 같다. 정보 공유 계산 속도 향상 모듈성 편의성 이같은 목적을 위해 협력 프로세스는 데이터 교환을 .. 2021. 12. 26. Process and Thread Management 이번에 알아볼 것은 프로세스와 쓰레드에 관한 것이다. 다음과 같은 것들을 살펴볼 것이다. 프로세스 개념 프로세스의 표현 Context Switch 동작 및 관련 시스템콜: fork(), exec(), wati(), ... 쓰레드 정의 싱글 쓰레드 vs. 멀티 스레드 멀티 쓰레딩 모델들 리눅스의 쓰레드 우선 OS는 프로세스 관리와 관련하여 다음 활동을 담당한다. 마지막 두 개는 이 수업에서 다루지 않는다. 사용자 및 시스템 프로세스 생성 및 삭제 프로세스 중단 및 재개 프로세스 통신을 위한 메커니즘 제공(IPC) 프로세스 통신을 위한 메커니즘 제공 교착 상태(dedlock) 처리를 위한 메커니즘 제공 Process 그럼 우선 프로세스가 무엇인가에 대해서 우선 이해해보자. 이전 글에서 잠깐 말했었는데 프로세.. 2021. 12. 25. I/O Systems and Operations 이번에는 입출력 시스템&입출력 작업에 대해 알아볼 것이다. 다음과 같은 순서로 구성된다. An Overview of I/O Subsystem and Operations Stream Model: I/O functions, Standard streams Buffering: Block buffering vs. Line buffering vs. Unbuffered Pipes File I/O: File pointer, File Attributes Device I/O: Device Drivers, Block devices vs. Charater devices vs. Network devices I/O (Input/Output) 입출력은 컴퓨터의 주요 역할이다. 다른 작업인 컴퓨팅/처리는 부차적인 역할이다. 컴퓨터 .. 2021. 11. 29. OS Structures & Linux Overview 저번에는 OS에 대해 알아봤다면 이번에는 '어떻게 OS를 설계하고 구현하는지'와 'OS의 내부 구성 방법'에 대해 알아볼 것이다. 그리고 OS 중 Linux에 대해서도 알아보자. OS Design and Implementation 일단 OS를 설계하고 구현하는데 있어서 최선/절대적인 답은 없다. 그러나 일부 접근 방식은 성공적인 것으로 이미 입증되었다. 그리고 서로 다른 OS의 내부 구조는 매우 다양할 수 있다. 그래서 우리는 목표 및 사양을 정의하여 설계를 시작해야 한다. 왜냐하면 하드웨어나 시스템의 유형의 선택에 영향을 받기 때문이다. 설계 요구사항을 특정할 때, 다음과 같은 사항들이 고려될 수 있을 것이다. User goals: OS는 사용하기 쉽고, 배우기 쉽고, 신뢰할 수 있고, 안전하고, 빨라.. 2021. 11. 12. 이전 1 2 3 다음 반응형