[운영체제] 파일 시스템 관리
파일 시스템과 저장 장치 1) 파일과 저장 장치 파일 : 정보를 저장하고 관리하는 논리적 단위 컴퓨터 시스템 관점에서 정보를 저장하는 컨테이너 → 0과 1로 이루어진 데이터 덩어리로 영구 저장 장치나 일시 저장 장치에 저장 운영체제는 파일 생성, 기록, 읽기 모든 과정을 통제 2) 디스크 장치 #1 디스크 매체 정보가 저장되는 원형 판 : 플래터 플래터 한 면당 하나의 헤드를 가지며 플래터에서 정보를 읽고 저장하는 장치 #2 디스크 제어 모듈 프로세서 : 디스크 메체 모듈 제어, 물리적인 디스크 액세스 진행 디스크 캐시 : 호스트와 디스크 매체 모듈 사이의 중간 버퍼 역할 3) 섹터/트랙/실린더/블록 #1 섹터 디스크에 정보가 저장되는 최소 단위 #2 트랙 플래터에 정보가 저장되는 하나의 동심원 여러 개..
- Computer Science/Operating System
- · 2023. 7. 25.
[운영체제] 가상 메모리
물리 메모리의 한계 1) 주소 공간과 물리 메모리 컴퓨터에 설치할 수 있는 물리 메모리의 한계 → cpu 주소 버스에 따라 최대 물리 메모리 크기가 정해져 있음 → 현실적인 크기와 비용으로 인해 8~32GB의 메모리 사용 2) 물리 메모리의 한계 설치된 물리 메모리보다 큰 프로세스를 실행시킬 수 있는가? 프로세스들을 합친 크기가 설치된 물리 메모리보다 클 때 이들을 실행시킬 수 있는가? → 프로세스 전체가 물리 메모리에 적재 되어야 실행 가능한가? → 당장 실행에 필요한 프로세스의 일부 메모리만 적재한 채 실행시킬 수 없는가? 가상 메모리 개념 1) 가상 메모리 물리 메모리 크기 한계 극복 물리 메모리를 디스크 공간을 확장하는 기법 → 프로세스나 사용자가 프로세스를 실행하기에 충분히 큰 메모리가 있다고 ..
- Computer Science/Operating System
- · 2023. 7. 24.
[운영체제] 페이징 메모리 관리
페이징 메모리 관리 1) 페이지와 프레임 프로세스의 주소 공간을 0번지부터 동일한 크기의 페이지로 나눔 물리 메모리 역시 페이지 크기로 나누어 프레임으로 부름 프로세스 구성 요소에 상관없이 고정 크기로 분할 페이지 크기는 운영체제마다 다르게 설정가능 페이지에 대응되는 프레임 번호를 저장하는 페이지 테이블 존재 2) 페이징 기법 프로세스 주소공간과 물리 메모리를 페이지 단위로 분할하고, 프로세스의 각 페이지를 물리 메모리의 프레임에 분산 할당하고 관리하는 기법 프로세스마다 페이지 테이블이 있으며 논리 주소의 물리 주소 변환은 MMU에 의해 이루어짐 물리 메모리의 빈 프레임 리스트 관리 필요 → 프레임 할당 알고리즘 내부 단편화가 발생하나 세그먼테이션보다 우수함 3) 페이징의 우수성 구현이 용이함 - 고정 ..
- Computer Science/Operating System
- · 2023. 7. 23.
[운영체제] 메모리 관리
메모리 계층 구조와 메모리 핵심 관리 1) 메모리 계층 구조 메모리는 컴퓨터 시스템 여러 곳에 계층적으로 존재 cpu 레지스터 - cpu 캐시 - 메인 메모리 - 보조기억장치 보조기억장치로 갈수록 용량 증가, 가격 저렴, 속도 저하가 있음 메모리 계층화의 목적 : CPU의 메모리 엑세스 시간을 줄여 빠른 프로그램 실행 CPU 레지스터 L1/L2 캐시 L3 캐시 메인 메모리 보조기억장치 용도 몇 개의 명령과 데이터 저장 한 코어에서 실행되는 명령과 데이터 저장 멀티 코어에 의해 공유, 명령과 데이터 저장 실행 중인 전체 프로세스들의 코드와 입출력 중인 파일 블록 저장 파일이나 데이터베이스, 메모리에 적재된 프로세스의 코드와 데이터 일시 저장 용량 바이트 단위 KB 단위 MB 단위 GB 단위 TB 단위 타입..
- Computer Science/Operating System
- · 2023. 7. 22.
1260번 - DFS와 BFS
문제 입출력 풀이 DFS - 깊이 우선 탐색 BFS - 너비 우선 탐색 #include #include using namespace std; int N, M, V; // 정점개수, 간선개수, 시작정점 int map[1001][1001]; // 인접 그래프 bool visited[1001]; // 방문 여부 queue q; void reset() { for (int i = 1; i > a >> b; map[a][b] = 1; map[b][a] = 1; } reset(); DFS(V); cout
- Problem Solving/C++
- · 2023. 7. 17.