23.12.07 최초 작성링크 참고tab (들여쓰기) : 8 글자일반적인 상황에서 들여쓰기는 금지 (if 구문과 같은 하위 항목이나 주석은 예외) 변수 초기화 및 할당 : 각 요소마다 줄 나눠쓰기중괄호 {} : 한 문장으로 표현할 수 있을 때 생략각 요소 뒤에 공백문

23.12.04 최초 작성 1. buildroot 1.1 설치 make linux-menuconfig make menuconfig 
23.12.06 최초 작성 1. init 프로세스 생성 과정 1.1 메모리 영역 확보 init/main.c kernelstart() : 커널을 시작하는 함수, setuparch() 호출 arch/arm64/kernel/setup.c setup_a

23.12.06 최초 작성 1. do_exit() /kernel/exit.c profiletaskexit() : 태스크 디스크립터에 종료할 것을 알림 exit_signals() : 익셉션 핸들러를 호출 perfeventexit_task() :

23.12.07 최초 작성고정된 시간 간격에서 시스템의 스레드가 적어도 1번은 실행되는 스케줄링 기법현재 대부분의 리눅스 시스템에서 채택하고 있음nice값을 바탕으로 우선도를 결정하며 낮을수록 높은 우선도를 가짐Non-real-time-priority : 100 ~ 1

23.12.12 최초 작성mm_struct : 각 가상 주소 공간(프로세스)에 대한 정보를 저장하는 자료구조vm_area_struct : 프로세스의 메모리 영역에 대한 정보 및 속성(file mapped, protection field...) 저장page : 각 pag
23.12.13 최초 작성 1. 프로세스 주소 공간 관리 커널은 프로세스에 각 영역(코드, 데이터, 스택, 힙)을 할당 함 각 영역에 메모리를 할당하거나 해제 page fault를 대응하고 page table을 관리 Virtual Memory Area (VMA)
23.12.14 최초 작성유휴 페이지의 갯수가 부족할 경우 발생working-set알고리즘을 활용한 dual-LRU 2개의 LRU list queue 자료구조를 두어 각각에 대해 LRU approximation 적용Anon : anonymous page 관리, 페이지를
23.12.18 최초 작성저장 장치를 관리하는 운영체제의 한 요소파일 시스템의 목적높은 성능많은 수의 파일과 용량이 큰 파일 지원내용의 보존다양한 저장장치와의 호환낮은 용량 지원application사용자가 파일을 사용하기 위한 프로그램system call파일에 대한 인
23.12.21 최초 작성일관성 (Consistency)유효한 상태를 유지하는 것파일 시스템 사용 시 유효한 상태에서 다른 유효한 상태로 전이하는 것을 보장유효하지 않은 상태(inconsistency)한 블록이 사용되고 있는 중에도 비트맵에는 가용 상태로 표기파일이 생
23.12.21 최초 작성NAND 플래시 메모리 기반 저장장치내부에 cpu, DRAM과 같은 하드웨어 존재플래시 메모리를 관리하기 위함 (FTL (Flash Translation Layer))FTL플래시 메모리를 디스크와 같이 다룰 수 있도록 해주는 추상화 계층 비휘
23.12.22 최초 작성 1. Virtual File System 사용자 공간과 파일 시스템을 연결해주는 layer 파일 시스템에 접근하는 일관적인 interface 를 지원 함수 직접 호출이 아닌 함수 포인터를 호출하는 방식으로 작동 1.1 관련 자료구조 inc