일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Find
- Overwatch League SaberMetrics
- #MINT64 #Sqix
- 오버워치
- #
- libpcap
- ftz
- vi 외부 명령어
- Sqix
- >
- FTZ 레벨2
- Network
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- C++11
- vim
- command
- #Best of the Best #OS #MINT64 #Sqix
- linux
- #Qt Creator
- libtins
- BEST of the BEST
- vi
- 오버워치 세이버메트릭스
- #IntelManual
- 인터럽트
- KASAN
- Today
- Total
목록전체 글 (76)
Sqix
INODE 파일 시스템 리눅스의 inode 파일 시스템은 다음과 같은 구조를 가진다 수퍼 블록 : 파일 시스템의 정보와 파티션의 정보를 가지고 있다 INODE 블록 : 파일의 상세 정보 데이터 블록 : 실제 데이터가 저장된 블록 파일은 inode 고유값과 자료구조에 의해 주요한 정보가 관리된다. 각 파일은 파일명:inode 형태로 inode 번호와 매칭된다. 파일시스템에서는 이 inode를 기반으로 파일에 액세스하고, inode를 기반으로 메타 데이터를 저장한다. inode 기반 메타데이터는 위 그림과 같이 권한, 소유자, 크기, 생성 시간 등을 가지고 있다. 여기서 Direct Block는 각각의 4kb 데이터 블록을 가리키고, single / double / triple indirect는 각각 4kb..
리눅스를 기준으로 보면 프로세스 하나당 메모리는 4GB를 사용한다. 반면 우리 메모리는 16GB? 32GB? 이정도에 불과하다. 현재 우리가 통상 사용하는 컴퓨터는 폰 노이만 구조이므로 프로세스는 메모리를 할당받아 그 위에서 동작해야 하지만, 모든 프로세스를 전부 실제 메모리에 올리려면 비용이 너무 많이 소요된다. 그래서 우리는 가상 메모리를 사용한다. 가상 메모리 실제 메모리보다 많은 양의 메모리를 사용하는 것 처럼 보이는 기술. 실제로 순간 우리가 사용하는 메모리의 크기는 작다는 점에 착안하여 고안된 기술로, 프로세스 간 공간이 분리되어 특정 프로세스의 이슈가 발생하더라도 시스템 전체에 영향을 주지는 않는다. Concept 프로세스는 가상 주소를 사용하며 실제 해당 주소에서 데이터를 읽고 쓸 때만 물..
쓰레드(Thread) 프로세스는 실행 중인 프로그램으로, 운영체제로부터 자원을 할당받는 작업의 단위로서 디스크로부터 메모리에 올라가 CPU 자원을 할당받는 것을 말한다. 쓰레드는 프로세스의 실행 단위로, 하나의 프로세스 내에서 여러 개의 실행 흐름을 가진 쓰레드가 존재하며 프로세스의 자원이나 데이터(주소 공간)를 공유받는다. 각각의 쓰레드는 독립된 작업 수행을 위해 스택을 별도로 가지고 있는데, 이는 각각의 쓰레드가 독립적인 작업 수행을 하기 위해 독립적인 함수 호출이 필요하고, 이를 위해서는 독립적으로 사용할 수 있는 스택이 필요하기 때문이다. 또한 쓰레드는 마찬가지로 프로그램 카운터 레지스터를 독립적으로 가지고 있는데, 스케줄러에 의해서 CPU 할당을 받고 이후 특정 조건에 의해 선점당하게 되면 추후..