Process Control 실행 모드 User Mode 낮은 권한을 가진다. System Mode(=Kernel Mode, supervisor mode) 높은 권한을 가진다. 이전에 Virtual Memory Space에 대해서 배울 때 해당 공간에도 커널이 있었음을 기억해 보자. 여기에 있는 커널은 메인 메모리로부터 복사된 것일까? 그렇지 않다. 실제로는 Main Memory 상의 커널이 매핑되어 그렇게 보이는 것 뿐이다. 프로세스는 user mode와 kernel mode를 번갈아 가면서 Mode change를 진행한다. 즉, CPU가 끊임없이 하나의 프로세스만을 차지하는 것처럼 보이지만 실제로는 그렇지 않다는 것이다. 실제로는 굉장히 빠른 속도로 Mode를 바꾸어간다. 다시 말해 A라는 task가..
File과 FCB File이란 보조 기억 장치 내부에 저장되어 전원이 꺼져도 지워지지 않는 정보의 저장단위이다. 주로 입출력 용도로 많이 사용하고 Create, Delete, Open, Read, Write 등의 연산이 존재한다. FCB는 파일에 대한 정보를 저장해놓은 데이터 구조이다. 이전에 배웠던 PCB와 유사한 개념인데, 다른 점은 컴퓨터를 종료해도 데이터가 남아있어야 해서 디스크에 저장된다. FCB가 가지는 정보는 다음과 같다. Basic Information 파일 이름 파일 타입 (Text, Binary..) File Organization Address Information Volumn : 파일이 저장된 디바이스를 가리킨다. Starting Address : 디스크 내의 시작 물리 주소 Siz..
백준 2309 🔲 내 풀이 #include using namespace std; int n = 9, k = 7; int a[9]; vector result(7); void combi(int start, vector b) { if (b.size() == k) { if (accumulate(b.begin(), b.end(), 0) == 100) { copy(b.begin(), b.end(), result.begin()); } return; } for (int i = start + 1; i > a[i]; } vect..
강 연결 성분(Strongly Connected Component)이란? 강 연결 성분이란 방향 그래프에서 연결 성분 내의 임의의 두 정점 u와 v에 대해서 u에서 v로 가는 경로가 있는 동시에, v에서 u로 돌아오는 경로가 있는 연결 성분이다. 강 연결 성분은 그 정의의 특징 상 단절 정점이나, 다리 간선을 포함하지 않는데, 생각해보면 당연하다. 강 연결 성분 내의 특정 정점을 제거함으로써, 두 개 이상의 연결 성분으로 나뉘지도 않고 그러한 간선도 존재하지 않는다. 아래 그림을 살펴보면, 그 의미를 더욱 쉽게 파악할 수 있을 것이다. 색이 같은 정점들을 한번 살펴보면, 임의의 두 정점에 대해서 오고 가는 길이 있다는 것을 확인할 수 있다. 반대로, 색이 다른 정점끼리 오고 가려면, 어느 한 방향은 막히..
커널로의 진입이 필요한 시점은 3가지 존재한다. InterruptTrap (software interrupt)System Call 이 중에서 인터럽트가 어떻게 커널 코드로 들어가고 어떤 처리가 일어나는지 알아보자. 인터럽트란? 인터럽트란 비동기적 이벤트가 발생했다는 사실을 주변장치로 알리는 방법을 뜻한다. 여기서 비동기란 이벤트가 언제 일어날 지 알 수 없다는 뜻인데, 이는 우리가 키보드를 언제 두드릴지 모르는 것과 같다고 생각하자. 반대로 동기란 이벤트가 일어날 시간이 정해져 있다는 뜻이다. 인터럽트가 발생하면 가장 먼저 PIC(Programmable Interrupt Controller)에 신호가 도착한다. PIC 칩은 곧장 CPU로 신호를 전달하는 프로세스를 거친다. 이때 Clock 인터럽..