본문 바로가기

C67

Chapter 10. 컴퓨터 구조에 대한 세 번째 이야기 10.1 절차적 함수 호출(Procedure Call) 지원 CPU 모델 Prologue) 10장은 결국 CPU가 어떻게 함수호출을 처리해 주는가를 배움. 함수 호출 시 필요한 작업으로는 1. 인자 전달 2. 지역 변수 처리 3. 실행의 이동 10.1-1 스택 프레임(Stack Frame)이란? Def) 스택 프레임 임의의 함수 내에서 선언된 메모리 공간. 근데 우리가 궁금한건, 어떻게 스택 프레임이 겹쳐지지도 않고 붕 뜨지도 않고 차곡차곡 예쁘게 쌓아올라갈 수 있을까? Note) 스택 프레임이 어떻게 다음 위치를 잘 지정할까? 누군가가 어디까지 메모리 공간을 할당했는지 기억하고 있어야 함. 이게 바로 SP 레지스터임. 10.1-2 SP 레지스터 Note) SP 레지스터는 스택 프레임의 바닥을 가리킴 그.. 2022. 2. 5.
Chapter 09. 스케줄링 알고리듬과 우선순위 9.1 프로세스의 스케줄링 Prologue) API만 알고 문제 접근할 때와 스케줄링 + API 상태로 접근할때가 전혀 다르다. 9.1-1 일반 OS와 Real-Time OS의 차이점 Note) 이 내용을 스케줄링 공부하는 과정에서 언급하는 이유는? 일반 OS와 Real-Time OS를 결정하는 녀석이 스케줄러이기 때문. 스케줄러가 어떻게 동작하냐에 따라서 일반 OS가 되기도하고 Real-Time OS가 되기도 함. Note) 일반 OS Vs. Real-Time OS - Real-Time, 즉 실시간이라는 말은 "바로바로"에 해당함. 다시 말해, 응답성이 좋다고 할 수 있음. ex. mp3 플레이어를 틀고 있다가, 크롬 키면 바로 뜰때 이게 응답성. - 아무리 성능이 좋은 컴퓨터도 크롬 많이 켜둔채로 무.. 2022. 2. 5.
Chapter 08. 프로세스간 통신(IPC) 2 8.1 핸들 테이블과 오프젝트 핸들의 상속 8.1-1 핸들 테이블의 이해 점검 Note) 핸들 테이블과 메일 슬롯 1. 프로세스가 메일 슬롯을 생성함. 메일 슬롯 또한 커널 오브젝트의 생성을 동반하는 리소스. 그럼 메일 슬롯의 커널 오브젝트 핸들값과 주소정보가 프로세스의 핸들 테이블에 등록이 됨. 2. 가장 중요한 것은, 핸들 테이블은 프로세스에 종속 적이란 것. 8.1-2 핸들 테이블의 상속 Note) 핸들 테이블의 상속 여부 항목 추가. - 이전까지 핸들 테이블에는 핸들값과 주소값 밖에 없었음. 이제 하나 더 추가되어서, 상속 여부라는 항목까지 추가됨. - 상속 여부라 함은, 조건에 맞다면 부모 프로세스의 핸들 테이블로부터 자식 프로세스의 핸들 테이블로 상속이 됨을 의미함. 즉, 부모 프로세스의 핸들.. 2022. 2. 4.
Chapter 07. 프로세스 간 통신(IPC) 1 7.1 프로세스간 통신(IPC)의 의미와 메일슬롯 방식의 IPC 7.1-1 Inter-Process Communication(IPC) Def) 프로세스간 통신 프로세스간의 데이터 송수신. 메모리 공유. 프로세스 A와 프로세스 B가 서로 데이터를 주고 받는 것을 프로세스 간의 통신이라 함. 혹은 둘 이상의 프로세스 간의 데이터 송수신을 뜻함. Note) 독립된 프로세스간의 통신이지, 프로그램 간의 통신이 아님. "하나의 프로그램 == 하나의 프로세스"가 대부분 이긴 하지만, 하나의 프로그램이 여러 프로세스를 생성하기도 함, ex. server-side 프로그램, ... 이때 하나의 프로그램 속 여러 프로세스 간에는 통신이 가능해야지만 적절한 하나의 프로그램으로 동작할 것이라는 건 추측가능함. 따라서 프로세.. 2022. 2. 4.