인기글

[C++ 코테] 코딩 테스트 연습 & 알게된점(1)

백준 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..

[운영체제] 프로세스 생성해보기

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가..

[운영체제] 인터럽트란 무엇이고, 어떻게 발생할까

커널로의 진입이 필요한 시점은 3가지 존재한다. InterruptTrap (software interrupt)System Call 이 중에서 인터럽트가 어떻게 커널 코드로 들어가고 어떤 처리가 일어나는지 알아보자.   인터럽트란? 인터럽트란 비동기적 이벤트가 발생했다는 사실을 주변장치로 알리는 방법을 뜻한다. 여기서 비동기란 이벤트가 언제 일어날 지 알 수 없다는 뜻인데, 이는 우리가 키보드를 언제 두드릴지 모르는 것과 같다고 생각하자. 반대로 동기란 이벤트가 일어날 시간이 정해져 있다는 뜻이다.    인터럽트가 발생하면 가장 먼저 PIC(Programmable Interrupt Controller)에 신호가 도착한다. PIC 칩은 곧장 CPU로 신호를 전달하는 프로세스를 거친다. 이때 Clock 인터럽..

[운영체제] 파일시스템이란?

File Systems 파일 시스템이란 파일들을 담아놓는 자료구조이자, 자료들을 처리하는 알고리즘을 포함하는 Logical storage unit을 말한다. 이러한 파일 시스템은 다음과 같은 요소로 구성한다. Boot blockPartition control block(super block)Directory structure운영체제에 따라 있을 수도 있고, 없을 수도 있다.File control blocksData blocks실제 파일의 내용을 저장하는 곳이다.      논리적으로 디스크를 나누어 놓은 것을 파티션이라고 하는데, 각 파티션에는 위와 같이 Partition Control Block이 존재한다. 여기에는 boot block, super block, FCB list와 data blocks로 이..

[운영체제] File과 Device File

File과 FCB File이란 보조 기억 장치 내부에 저장되어 전원이 꺼져도 지워지지 않는 정보의 저장단위이다. 주로 입출력 용도로 많이 사용하고 Create, Delete, Open, Read, Write 등의 연산이 존재한다. FCB는 파일에 대한 정보를 저장해놓은 데이터 구조이다. 이전에 배웠던 PCB와 유사한 개념인데, 다른 점은 컴퓨터를 종료해도 데이터가 남아있어야 해서 디스크에 저장된다. FCB가 가지는 정보는 다음과 같다. Basic Information 파일 이름 파일 타입 (Text, Binary..) File Organization Address Information Volumn : 파일이 저장된 디바이스를 가리킨다. Starting Address : 디스크 내의 시작 물리 주소 Siz..

TIlearn
devrepo