본문 바로가기
728x90
반응형

컴퓨터 과학(Computer Science)/운영체제(Operating System)11

[9주 차] - Segmentation and Paging in x86 CPU Structure LAB 과목명 : 운영체제(Operating System) 수업일자 : 2023년 05월 03일 (수) 1. Segmentation in x86 - Descriptor Table 2. Segmentation in x86 - GDT(Global Descriptor Table) 2-1. kd> dg 0 40 3. Segmentation in x86 - Kernel Mode 3-1. kd> r 4. Segmentation in x86 - User Mode (1/2) 4-1. kd> !process 0 0, .process /p /r ffffdc0b04613080 4-2. kd> bp kernel32!readfile, bl, g 5. Segmentation in x86 - User Mode (2/2) 5-1. kd> .. 2023. 5. 10.
[8주 차] - Memory Management, Virtual memory management techniques : Segmentation and Paging 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 26일 (수) 1. To run Programs? 1-1. 프로그램이 실행되는 과정 (1) 사용자가 응용 프로그램을 실행합니다. (2) 로컬 환경의 물리 저장소(HDD 또는 SSD)의 실행 파일을 탐색합니다. (3) Loader program은 실행 파일의 내용을 분석하여 text, data, heap, stack 영역을 프로세스의 가상 공간에 배치합니다. (4) MMU(Memory Management Unit)에 의해 가상 공간으로 배치된 요소들은 Physical memory의 일정 공간을 할당받아 점유하게 됩니다. - 운영체제는 자료구조를 통해 이러한 정보를 관리하게 됩니다. - Page Directory Table(P.. 2023. 4. 27.
[7주 차] - Process Management (2) 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 19일 (수) 1. Process vs Thread 1-1. Process (1) 각각의 프로세스는 프로그램을 실행하는 데 필요한 리소스를 제공하며, 메모리에 로드되어 운영체제로부터 자원을 할당받은 작업의 단위를 의미합니다. (2) 프로세스는 가상 주소 공간, 실행 가능한 코드, 시스템 오브젝트에 대한 Open handle, 보안 코드의 컨텍스트, 고유한 프로세스 식별자, 환경 변수, 우선 순위 클래스, 최소 및 최대 작업의 Set, 최소 하나의 실행 가능한 스레드를 보유하고 있습니다. (3) 이러한 프로세스는 기본적인 protection 단위로써 서로 완전히 분리되어 동작합니다. (4) 프로세스는 별도의 주소 공간을 보유.. 2023. 4. 25.
[6주 차] - Process Management (1) 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 12일 (수) 1. Process 1-1. 프로세스(Process) (1) 물리 저장소에 저장된 프로그램이 Loader에 의해 메모리에 로드되어 실행되는 상태에 있을 때 Process라고 할 수 있습니다. (2) 프로그램이 실행되기 위해서는 시스템으로부터 필요한 리소스를 할당받아야 합니다. - 메모리 공간(Memory space) - 운영체제는 프로세스의 관리를 위해 필요한 자료구조(Data Structure)를 생성해야 합니다. 1-2. 프로세스가 가지는 특징 (1) 시스템 리소스가 할당된 단위입니다. - 물리 저장소(디스크)에 저장된 코드와 데이터를 메모리에 로드하고 또한 실행에 필요한 추가적인 메모리 공간을 할당합니다.. 2023. 4. 25.
[5주 차] - Examples of WinDbg commands, WinDbg commands related to Symbol information, To check symbols, Symbol in ntoskrnl.exe 과목명 : 운영체제(Operating System) 수업일자 : 2023년 04월 05일 (수) 1. Various commands in WinDbg (1) Kernel debugging을 위해 가상 머신의 Windows를 부팅하고, kernel prompt와 연결해서 debugging 준비를 완료합니다. 1-1. Command : kd > g (1) Debugee의 Guest OS(Target OS)의 디버깅 모드를 중지하고 Target PC를 사용할 수 있게 됩니다. (2) Target PC를 직접 사용할 수 있는 상태가 된 것을 확인할 수 있습니다. 1-2. Command : kd > (1) Debugee PC가 Running 상태일 때 다시 Debugging mode로 전환할 수 있도록 WinDb.. 2023. 4. 6.
[4주 차] - Windows Debugging 개요, Kernel Debugging을 위한 WinDbg, Windows 가상 환경 구성하기 과목명 : 운영체제(Operating System) 수업일자 : 2023년 03월 29일 (수) 1. Debugging in Windows OS 1-1. Programming in Windows (1) Application programming (2) Kernel programming - 운영체제가 제공하는 기능을 제한 또는 확장하기 위하여 대부분의 경우 device driver를 통하여 이루어집니다. 1-2. Debugging in Windows OS (1) Types of error - 컴파일 오류 (Compilation errors 또는 Compile-time errors) → 컴파일 오류의 경우 컴파일러가 이해하지 못하는 코드 로직을 발견한 경우 컴파일 오류가 발생합니다. 주로 문법적인 부분에 오.. 2023. 4. 5.