일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- #Qt Creator
- 오버워치
- #MINT64 #Sqix
- Find
- Overwatch League SaberMetrics
- vi
- libpcap
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- >
- Sqix
- FTZ 레벨2
- #
- libtins
- #Best of the Best #OS #MINT64 #Sqix
- C++11
- #IntelManual
- ftz
- linux
- 인터럽트
- 오버워치 세이버메트릭스
- vi 외부 명령어
- vim
- command
- Network
- KASAN
- BEST of the BEST
- Today
- Total
목록MINT64 OS (13)
Sqix
이번 글에서는 운영 모드와 메모리 관리 기법에 대해서 다룹니다. x86, x86_64에서는 크게 세그먼테이션(Segmentation), 페이징(Paging) 기법을 통해서 메모리를 관리합니다. 세그먼테이션은 우리가 전체 영역을 원하는 크기로 분할하여 관리하는 것이고, 페이징 기법은 지정 단위로 잘린 영역을 모아 원하는 크기를 만들어 관리하는 방식입니다. 메모리 관리 기법을 이용하려면 각 레지스터에 맞는 특정한 자료구조를 지정해야 합니다. 세그먼테이션은 디스크립터의 위치를 지정해야 합니다. 그리고 페이징 기법에서는 컨트롤 레지스터의 CR3 레지스터에 페이지 디렉토리라고 불리는 자료구조의 물리적 주소를 설정해 주어야 합니다. 이제 위의 내용을 근간으로 각 운영 모드별 메모리 관리 방식에 대해서 알아보겠습니다..
이번 글에서는 운영체제의 다섯 가지 운영 모드(리얼 모드, 보호 모드, IA-32e 모드, 시스템 관리 모드, 가상 8086 모드)와 레지스터, 메모리 관리 기법에 대해서 알아봅니다. 1. 운영 모드 64bit OS가 지원하는 운영 모드는 총 5가지입니다. 여기에는 위에서 말씀드린 리얼 모드, 보호 모드, IA-32e 모드, 시스템 관리 모드, 가상 8086 모드가 있습니다. 우리가 만들 OS에서 필수적으로 지원해야 하는 모드는, 위 5개의 모드들 중 리얼 모드, 보호 모드, IA-32e 모드입니다. ● 리얼 모드 리얼 모드는 프로세스가 처음 동작할 때 진입하는 모드입니다. 어떤 상태에 있는 프로세서건 상관없이 전원이 켜지거나, 혹은 리셋되는 모든 프로세서는 모두 리얼 모드로 진입하게 됩니다. 리얼 모드..
한승훈 저자님의 "64bit 멀티코어 OS 원리와 구조" 책 스터디를 시작하였습니다. 사실 pr0gr4m님(https://github.com/pr0gr4m)께서 시작하신 os 스터디에 참여하였었지만, 모종의 이유로 약 4개월간 바빴던지라 이제서야 다시 시작하게 되었습니다. 해당 카테고리에서는 해당 책을 공부해나가는 과정에 대해서 작성하고자 합니다. 이번 글에서는 환경 설정에 대해 다룹니다. ※ 개발 환경 운영체제 : Ubuntu 16.04.2 LTS 텍스트 에디터 : vim 1. GCC 및 gcc-multilib 설치 저처럼 Host OS가 우분투라면, gcc와 g++은 기본적으로 설치가 되어 있기 때문에 굳이 추가적으로 gcc를 설치하실 필요는 없습니다. 하지만, 크로스 컴파일링을 위해서 gcc-mul..