반응형 전체 글14 13. 커널 오브젝트의 두 가지 상태(state) | 커널 오브젝트의 두 가지 상태(state) 우리는 주변에서 상태 Site) 정보를 지니는 것들을 중종 본다. 전기밥솥을 예로 들면, 취사 상태가 있고 보온 상태가 있다. 그리고 전화의 경우로 두 가지 상태를 지니는데 그중 하나는 동화 가능한 상태 밴이 올리는 상태이고 또 하나는 동화 중인 상태이다. 어디 그뿐인가? 자동차의 경우에도 주행 상태와 정지 상태로 구분할 수 있다. 마찬가지로 Windows 운영체제에 의해서 생성되는 커널 오브젝트도 두 가지 상태를 지닌다. 이는 자원에 특정 상황이 발생하였음을 알리기 위한 용도로 사용된다.상태(State)에 대한 이해 상태(Scat)라는 용어를 사용하는 이유는 변하기 때문이다. 상태란 항상 고정적인 것이 아니고, 특정 상황에 따라서 변하는 것이다. 전기밥솥은.. 2023. 10. 19. 12. WaitForSingleObject 함수의 유용성 다음으로 첫 번째 생성된 자식 프로세스는 계산 결과를 부모 프로세스에 넘기고 종료한다. 두 번째 생성된 자식 프로세스도 계산 결과를 부모 프로세스에 넘기고 종료한다. 마지막으로 부모 프로세스는 두 자식 프로세스가 반환해 준 값을 더해서 그 결과를 출력한다. 구현에 있어서 고민해 봐야 할 내용들 부모 프로세스는 두 개의 자식 프로세스를 생성하는데, 이 두 프로세스가 하는 일은 같다고 볼 수 있다. 다만 덧셈의 계산 범위가 다를 뿐이다. 그렇다면 자식 프로세스의 역할을 하는 프로그램은 어떠한 형태로 구현하는 것이 이상적이겠는가? 자식 프로세스의 역할을 하는 프로그램 하나를 작성하고, 이 프로그램이 프로세스가 되는 순간 덧셈의 범위를 전달하는 형식이 가장 쉽고 간결한 방법이다. 다음은 자식 프로세스를 위한 프.. 2023. 10. 19. 11. 메일슬롯의 고찰과 앞으로의 전개에 대해서 위 코드에서 Create File, Write File 함수를 사용하는 부분에 대해서 의아하게 생각할 것이다. 메일 슬롯은 분명 파일은 아니다. 그런데도 파일 입 • 출력 함수를 사용해서 데이터를 주고받는다. 이는 메일 슬롯의 구현 원리에서 그 이유를 찾을 수 있다. 메일 슬롯은 Windows 파일 시스템을 기반으로 구현되어 있다. 때문에 메일슬롯을 기반으로 하는 CreateMailslot이나 WriteMailslot 과 같은 이름의 함수를 만들 경우, 기능은 같고 이름만 다른 함수 여럿을 만들어 내는 꼴이 된다. 이것이 나쁘다는 것은 아니다. 다만 마이크로소프트에서는 이러한 형태의 함수들을 디자인하지 않고 기존에 정의되어 있는 파일 입 • 출력 함수를 사용하기로 결정했을 뿐이다. 주소 체계의 기본 골격.. 2023. 10. 19. 10. 메일 슬롯 방식의 IPC 메일 슬롯 방식의 IPC에 대해서 알아보자. Windows에서는 다양한 IPC 기법을 제공하고 있다. 일단 메일 슬롯 기반의 IPC를 살펴보기로 하자. 사용법 위주로 설명한다면 아주 쉽게 설명이 가능하다. 그러나 그 원리를 이해하는 것이 중요하므로 여기서는 원리 위주로 설명을 진행하겠다. | 메일 슬롯(Mail Slot) 원리 메일 슬롯은 파이프(다음 장에서 소개됨)와 더불어 대표적인 IPC 기법이다. 메일 슬롯은 편지를 넣을 수 있는 가느다란 우체통의 입구를 의미한다. 우체통은 영어로 메일박스(all Box)다. 메일박스라고 하지 않고 메일 슬롯이라고 이름을 붙인 이유는 선형적인 메모리 구조의 특성을 반영하기 위한 것이라고 감히 짐작해 본다. 따라서 여러분은 메일 슬롯의 원리를 이해하기 위해서 우체통을.. 2023. 10. 19. 이전 1 2 3 4 다음 반응형