| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Stack
- 알고리즘
- bfs
- 스택
- 정석
- coding
- c++
- 개발
- 컴공
- vector
- 정석학술정보관
- 오퍼레이팅시스템
- 컴공과
- 오에스
- 북리뷰
- 코테
- 그래프
- 문제풀이
- Operating System
- 구현
- 컴퓨터공학과
- DP
- Computer science
- cs
- 브루트포스
- 자료구조
- 코딩
- 너비우선탐색
- OS
- 백준
- Today
- Total
목록computerscience (3)
Little Jay
Interrupt Mechanism Interrupt는 Processor Utilization은 높이는 기법이다. Interrupt 자체는 시스템 프로그래밍 파트에서도 설명을 했었는데 이제는 이 Interrupt가 어떻게 동작하는지 그 원리와 내부 구조, 이유에 대해 OS의 관점에서 정리하겠다. Interrupt를 사용하는 이유는 대부분의 I/O Device가 Processor보다 느리기 때문이다. 만약 Processor가 I/O Device와 바로 상호작용하기 위해서는 Processor는 Device의 작업이 끝날 때까지 기다려야 한다. 이는 Processor라는 자원을 놀리고 있는 것이고 이는 Resource에 대한 자원 낭비이다. 예를 들어서 Read Operation이 일어난다면 Processor..
Wait 앞서서 Parent Process는 Child Process를 "Reap" 한다고 언급했다. 이는 Parent Process에서 wait 혹은 waitpid 함수 호출을 통해서 진행이된다. int wait (int *status); 위에 있는 것이 wait 함수의 원형인데, 말 그대로 자식 Process의 종료 상태를 얻어내는 것을 목표로한다. 다시말해 Child Process가 끝날때까지 current process를 progress시키지 않고 suspend한다. 이 함수의 return 값은 끝나기를 기대하는 Child Process의 PID 번호이다. 그것이 가리키는 정수는 자식 프로세스가 종료된 이유와 종료 상태를 나타내는 값으로 설정이 된다. 이를 알아보기 위해서는 wait.h 파일에 들..
Process 프로세스에 대한 정의는 다양하다. OS를 다루는 부분에서도 설명을 또 할것이지만, 여기서도 정의를 해보겠다. Process는 프로그램이 실행 준비가 되어 메모리에 올라가있는 상태이다. 이를 반대로 말하자면 Program은 아직 Code의 형태로 Disk에 존재하는 것이다. 조금더 상세히 명세를 하자면, Program의 Code와 Data가 Memory에 저장된 상태이다. 이때 OS는 PCB라는 Data Structure을 활용해서 Process를 나타낸다. Process는 각 Program에게 두 가지 Key Abstraction을 제공한다. 이는 Independent Logical Control Flow, Private Address Space인데, Independent Logical C..