본문 바로가기

CS14

[CS] inode 파일 시스템 구조 이해 📖 inode 파일 시스템 구조 이해 inode 방식의 파일 시스템은 기본적으로 블록단위로 이루어져 있다. 수퍼 블록 : 파일 시스템에 대한 정보 및 파티션 정보를 가지고 있다. 아이노드 블록 : 각각의 파일에 대한 상세한 정보가 들어 있다. 데이터 블록 : 실제 데이터가 들어 있다. ✅ inode와 파일 리눅스 시스템에서 각각의 파일은 유일한 inode 고윳값과 inode 기반으로 하는 PCB 같은 자료구조에 의해 주요 정보를 관리한다. 과정을 대략 정리하면 다음과 같다. '파일이름 : inode'로 파일이름은 inode 번호와 매칭 파일 시스템에서는 inode를 기반으로 파일 액세스 inode 기반 메타 데이터 저장 💡 inode 기반 메타데이터에는 어떤 것들이 있을까? inode 기반 메타데이터 에.. 2023. 3. 1.
[CS] 가상 메모리 정리 📖 가상 메모리 개념 이해 ✅ 가상 메모리가 필요한 이유 하나의 프로세스만 실행 가능한 시스템 예를 들어 배치 처리 시스템 같은 경우에는 가상 메모리가 필요가 없다. 하지만 여러 프로세스를 동시 실행하는 시스템 같은 경우에는 메모리 용량 부족 이슈나 프로세스 메모리 영역 간에 침범 이슈가 있을 수 있기 때문에 가상메모리가 필요하다. ✅ 가상 메모리란? 메모리가 실제 메모리보다 많아 보이게 하는 기술 실제 사용하는 메모리는 작다는 점에 착안해서 고안된 기술 프로세스 간 공간 분리로, 프로세스 이슈가 전체 시스템에 영향을 주지 않을 수 있음 가상 메모리 콘셉트 프로세스는 가상 주소를 사용하고, 실제 해당 주소에서 데이터를 읽고 쓸 때만 물리 주소로 바꿔주면 된다. virtual address (가상 주소) .. 2023. 2. 27.
[CS] 스레드(thread) 간략 정리 📖 스레드 정리 하나의 프로세스에 여러 개의 스레드 생성 가능하다. 스레드들은 동시에 실행 가능하다. 프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능하다. ✅ 스레드의 장단점 📌 스레드 장점 사용자에 대한 응답성 향상 작업을 분할함으로써 속도를 향상해 사용자에 대한 빠른 반응이 가능하다. 자원 공유 효율 IPC 기법과 같이 프로세스 간 자원 공유를 위해 번거로운 작업이 필요 없다. 프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능하다. 작업이 분리되어 코드가 간결 하지만 작성하기 나름이다. 📌 스레드 단점 여러개의 스레드 중 한 스레드만 문제가 돼도, 전체 프로세스가 영향을 받는다. 스레드를 많이 생성하면, Context Switching이 많이 일어나, 성능이 저하된다. 이 단점.. 2023. 2. 22.
[CS] 프로세스 구조 이해 ✅ 프로세스(process) 구성요소 text(CODE) : 코드 data : 변수/초기화된 데이터 stack : 임시 데이터(함수 호출, 로컬 변수등) heap: 코드에서 동적으로 만들어지는 데이터 ✅ 프로세스와 컴퓨터 구조 연관 관계 컴퓨터 구조에서 우리는 두 용어를 만나게 된다. PC(Program Counter) + SP(Stack Pointer) 둘 다 레지스터이며, 용어들의 의미를 보자면 PC : 다음 실행할 코드 주소를 가리킨다. SP : 스택 최상단 주소를 가리킨다. 를 뜻한다. 두 개를 활용하여 임베디드 시스템 등에서 동작하는 C프로그램등은 디버깅에 사용된다. 💡 파이썬에서 재귀함수 호출이 일정 횟수 이상이면 에러 나는 이유 고정된 스택 공간 때문이다. 📖 힙과 콘텍스트 스위칭 이해 ✅ .. 2023. 2. 19.