본문 바로가기

OS2

[시스템] Exceptions: 시스템의 다양한 예외 분류 이전에 쓴 글에서 이어서, 시스템에서의 Exception에 대해 다뤄보려고 한다. 논할 내용은 다음과 같다. Exceptions의 분류 비동기 사례: 인터럽트 동기 사례: Traps, Faults, and Aborts Exceptions의 분류 Exception은 특정한 이벤트가 발생할 경우, control을 OS Kernel로 변경/전송해주는 역할을 한다. Exception은 다양한 이벤트를 통해 발생할 수 있는데, 그 예시는 다음과 같다. 0으로 나누기 page fault Ctrl-C 누르기 I/O 요청 완료 위의 경우들의 종류에 따라, Exception은 프로세스를 잠시 멈추고 커널로 이동하여 예외를 핸들링한다. 만약 I_current에 있는 명령어를 실행하는 과정에서 Event가 발생하면, 해당 .. 2021. 5. 4.
[시스템] Control Flow와 Exceptions 최근 대학에서 시스템 프로그래밍을 공부하고 있는데, 여기에서 예외 처리에 대한 내용이 언급되었다. Java를 쓰는 만큼 예외 발생이나 핸들링에는 익숙하지만, 생각해보면 C를 쓸 때에는 예외 개념이 없었으니까...당시엔 어떻게 예외를 처리했나 궁금하던 터였다. 그래서, 오늘 배운 내용을 간단히 정리해보려고 한다. 다룰 내용은 다음과 같다. 프로세스와 Control Flow Control Flow를 변형하는 특수한 사례들 Exceptions 1. 프로세스와 Control Flow 우리가 사용하는 프로그램들은, 명령어(instruction)들의 집합이다. 그리고 이러한 프로그램이 메모리에 적재되어 실행되는 중일때, 그것을 프로세스라고 한다. 즉 프로세스는, "an instance of a running pro.. 2021. 5. 2.
반응형