본문 바로가기

전체보기96

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.
An Introduction to Theory of NP and Intractability 탐욕 알고리즘, 역추적 알고리즘, 분기 한정법을 다뤄오면서 공통적으로 나왔던 0-1 배낭 문제를 기억하는지 모르겠다. 역추적 알고리즘 글에서 이 문제가 NP 문제라고 했다. 본인도 이해하기 굉장히 어려운 개념이었는데(아직도 제대로 이해한 것 같지는 않다 ㅠㅠ😥) 이번 글에서는 이 NP 문제에 대해 다뤄볼 것이다. 이번 글에서 알아볼 사항들은 다음과 같다. tractable/intractable(다루기 쉬운/다루기 어려운) 문제 분류 결정 문제 정의 class P 정의 비결정적 문제 정의 class NP 정의 다항식 변환 정의 NP-Complete class 정의 Polynomial Time Algorithm? 우선 다항 시간 알고리즘에 대해 이해해보자. 이는 worst-case 시간 복잡도가 입력 크기 .. 2021. 12. 22.
More Computational Complexity theory of a problem :The searching Algorithm 저번 게시글에서는 계산 복잡도 이론에 대해 간단히 알아보고 이에 대한 개념을 일부 정렬 문제에 적용해보았다. 이번에는 탐색 문제에 계산 복잡도 이론을 적용해보자. 다음과 같은 사항들을 이번에는 알아볼 것이다. 키 비교를 이용하는 배열 탐색에 대한 하한 선택 문제: Adversary Arguments 소개 K번째 가장 작은 키 찾기 선택 문제에 대한 확률적 알고리즘 The Searching Problem 탐색 문제는 일부 키 필드의 값을 기준으로 전체 레코드를 검색하는 것을 말한다. 예를 들어보자. 레코드는 개인 정보로 구성되고 키 필드는 주민등록번호라고 할 수 있다. 그렇다면 우리는 해당 키 필드를 이용하여 레코드를 탐색할 수 있는 것이다. 이전에 다뤄본 정렬 문제와 마찬가지로 탐색 문제에서도 하한을 계.. 2021. 12. 21.