본문 바로가기

전체 글216

[Project 2 - Userprogram] 시스템콜, 시스템콜 핸들러 보호되어 있는 글 입니다. 2022. 6. 5.
내가 우분투로 바꾸고 설정한 것들 보호되어 있는 글 입니다. 2022. 6. 5.
Paging, MLP4, Linux 페이징 선형적인 가상 주소 -> 실제 물리주소로 번역해주는 메커니즘 페이징 모드에는 3가지가 있다. (1) 32비트 페이징, (2) PAE 페이징, (3) IA-32e 페이징 우리가 살펴볼 건 IA-32e 페이징 (활성화를 위해 CR0.pg, CR4.PAE, IA32_EFER.LME 비트 설정 필요) Paging structures 페이징은 선형 주소 공간을 일정한 사이즈(4096, 4kb in x86_64)로 나누는 건데, 물리 주소 공간이나 외부 저장소에 매핑될 수 있다. x86-64 linux의 모든 structures는 4096의 사이즈와 512개의 entry로 이루어져있다. 리눅스는 계층을 갖는 4 level의 페이지를 사용한다. cr3에 최상단 레벨의 주소가 적혀있다. page table을 만들고 최.. 2022. 6. 1.
Project 2: User Programs 검색어 목록 1. User mode vs. Kernel mode User mode는 해당 user program의 private한 저장공간(virtual memory)에만 접근할 수 있고, I/O작업을 수행하는 것이 불가능하다. 그에 반해, Kernel은 메모리의 어떤 공간이든 접근할 수 있고 어떤 I/O작업도 가능하다. 유저모드와 커널모드의 구별을 위해 Mode-bit을 사용해 0, 1을 각각 kernel mode, user mode로 구분한다. 가상주소공간: kernel은 단 하나의 가상주소공간을 갖지만, 사용자 프로그램은 분리된 주소공간을 갖는다. 2. Process 프로세스는 자원의 할당 단위이다. 각 프로세스는 고립된 가상 메모리를 할당 받고, 프로세스 간에는 다른 가상메모리 공간에 접근할 수 없다.(pro.. 2022. 5. 30.