
Process와 Context Switching 프로세스와 컨텍스트 스위칭 [ Program & Process ] Program : 파일 시스템에 존재하는 실행 가능한 파일. : 실행되지 않은 정적(Static)인 상태. : Stack과 Heap이 존재하지 않음. Process : Program이 실행 중인 동적(Dynamic)인 상태. : 추상적인 부분이 존재. 1) 각각의 Program이 CPU를 독점적으로 사용하는 것 처럼 보이게 하지만, 뒤에는 수많은 동작 존재. → Context Switching에 의해 제공. 2) 각각의 Program이 Main Memory를 독점적으로 사용하는 것으로 보임. → 가상 메모리(Virtual Memory)에 의해 제공. : Kernel Code로 관리. · Mu..
백준 12100번 : 2048 (Easy) 등급 : Gold II 12100번: 2048 (Easy) (acmicpc.net) 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 사용 알고리즘 : Brute-Force, Backtracking 사용 자료구조 : Deque 각 블럭의 이동을 모두 직접 구현해주고, 그에 따른 최대값을 도출하는 문제. ( 전치 행렬에 대한 부분에서 헷갈리실 수 있다고 생각이 드는데, 추후에 필요하면 더 업데이트 하도록 하겠습니다 ) 1. 전치행렬로 변환시키는..
백준 4196번 : 도미노 등급 : Platinum IV 4196번: 도미노 (acmicpc.net) 4196번: 도미노 도미노는 재밌다. 도미노 블록을 일렬로 길게 늘어세운 뒤 블록 하나를 넘어뜨리면 그 블록이 넘어지며 다음 블록을 넘어뜨리는 일이 반복되어 일렬로 늘어선 블록들을 연쇄적으로 모두 쓰러 www.acmicpc.net 사용 알고리즘 : SCC 사용 자료구조 : Vector 각 도미노를 SCC 단위로 나눠주고, 각 SCC에 들어오는 간선 Indegree값을 저장해 푸는 문제. 1. SCC를 구하기 위해 순방향으로 DFS, 그리고 스택에 쌓인 순서대로 역방향 DFS를 진행해준다. (기존 SCC 알고리즘) 2. 역방향 DFS를 순회할 때 처음 방문하는 정점(Vertex)에는 SCC의 번호를 달아준..

Exceptional Control Flow와 System Call 예외적인 제어 흐름과 시스템 콜 [ Mode ] Mode Bit : 모드를 구분해주는 비트. Dual Mode : 운영 체제를 보호하기 위해 자원에 대한 접근 권한을 모드로 나눠놓는 방법. : 보통 0일 때 User Mode, 1일 때 Kernel Mode라 한다. 보호 영역 1. Privileged Instruction : Kernel Mode에서만 사용 가능한 명령어들. : Interrupt의 활성·비활성 관리, 프로세스 홀팅(halting), Mode Bit 변경, I/O 직접 접근 등 2. Memory Access : 유저 코드가 Kernel을 수정하지 못하도록 방지. : 아무 메모리나 읽고 쓰는 것을 방지. 3. Access t..

Linking Linking : 여러 개의 코드와 데이터를 통합·연결하여 실행될 수 있는 하나의 파일로 만드는 작업 [ Linking의 종류 ] Static Linking : Compile-Time에 수행되는 Linking. : 라이브러리를 같이 포함시켜 실행 파일을 만드는 방법. (소스 코드와 라이브러리를 merge한다고 표현) : 파일 수정 시 전체 파일을 모두 다시 Compile해야 하는 문제. : Redundancy 발생 가능. : -static 옵션으로 수행 가능. Dynamic Linking : Run-Time 또는 Load-Time에 수행되는 Linking. : Dynamic Linker가 호출될 때 Share 과정을 거침. : 메모리 상으로 효과적. : 수행 시간 중에 Linking이 진행..