inode pointer structure
inode 구조전반적인 inode 구조는 다음과 같다. inode pointerinode에서 data block으로 참조해준다.직접 포인터(direct pointer) 12개단일 간접 포인터(singly indirect ') 1개이중 간접 포인터(doubly indirect ') 1개삼중 간접 포인터(triply indirect ') 1개그중 그림상 direct blocks~triple indirect 부분을 설명할건데, ext2/ext3/ext4을 떠올리자.이 셋의 파일 시스템 기본 data block의 크기는 4KB이며, 1KB, 2KB, 4KB, 8KB 등으로 설정이 가능하다. 32비트 시스템의 경우 포인터의 크기는 4Bytes(32bit)64비트 시스템의 경우 포인터의 크기는 8Bytes(64b..
- Computer Science/Operating System
- · 2024. 9. 25.
Process API, 시스템콜을 알아보자
서론 보기더보기들어가기 전, 이 게시물에서는 여러분들이 흔히 들어보신 부모 프로세스(parent process), 자식 프로세스(child process)가 언급됩니다. 빠른 정리를 위해 parent, child로 축약해 부르겠습니다. 단어에 혼동이 있을 수 있습니다. 해당 챕터에서는 프로세스를 만들고 제어하는 방법에 대해 다룬다. 코드 실습은 https://github.com/remzi-arpacidusseau/ostep-code/Get it right. Neither abstraction nor simplicity is a substitute for getting it right.Process 생성 및 제어UNIX 시스템에서 제공하는 다음 3가지 시스템 콜을 살펴볼 것이다.fork()exec()wai..
- Computer Science/Operating System
- · 2024. 6. 5.
[보호기법] Stack Canary 다시보기
해당 글은 매우 카나리 보호기법에 익숙치 않은 사람들이 공부할 수 있는 방법을 기술했습니다.Buffer Overflow Attack을 통해 실행흐름을 조작하거나 데이터 변조, 유출이 가능하고 이를 막기 위한 방법 중 하나를 알아보겠습니다. 카나리가 적용되면 Buffer Overflow가 날 경우 Canary 값을 비교합니다. Canary도 종류가 여러개 있는데Null Canary0x000000000x00Terminator Canary0x00000aff00x00, 0x0a, 0xffRandom Canary4Byte (32-Bit), 8Byte (64-Bit) Random0x00으로 시작Random XOR CanaryRandom Canary와 동일 취약점을 가지지만 Canary 값을 읽어오는 과정이 더 복잡..
- Computer Science/Operating System
- · 2024. 5. 20.