일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS
- 오블완
- 코드트리
- 시스템콜
- 리액트
- 큐
- 나만무
- 모션비트
- Java
- JavaScript
- 사이드프로젝트
- Flutter
- 소켓
- 백준
- 핀토스
- userprog
- 자바
- corou
- TiL
- 크래프톤 정글
- defee
- 크래프톤정글
- 4기
- pintos
- 티스토리챌린지
- Vue.js
- 자바스크립트
- HTML
- 스택
- 알고리즘
- Today
- Total
목록인터럽트 (2)
미새문지
예외적인 제어 흐름(Exceptional Control Flow, ECF) 시스템들은 내부 프로그램 변수에 의해 표시되지 않으며, 프로그램의 실행과는 반드시 관련되어 있지 않은 시스템 상태 변화에도 반응할 수 있어야 한다. 사용자가 특정 명령어나 요청을 내릴 경우, 시스템은 이에 대해 특정한 방식으로 반응하는데, 정상적인 흐름이 아닌 경우를 말한다. 예외 상황(Exception) 하드웨어와 운영체제에 의해 구현된 예외적인 제어 흐름의 한 형태로 이해할 수 있다. 이는 프로세서 상태의 변화에 대응해 제어 흐름이 급격하게 변경되는 상황을 말한다. 프로세서가 특정 이벤트 발생을 감지하면, 예외 테이블이라는 점프 테이블을 통해 이 특정 종류의 이벤트를 처리하기 위한 운영체제의 서브루틴인 예외 처리 핸들러로 ..
실행 흐름 우리가 개발하는 프로그램은 일반적으로 유저 모드에서 실행된다. 프로그램 실행 중에 인터럽트(interrupt)가 발생하거나 시스템 콜(system call)을 호출하게 되면 커널 모드로 전환된다. 전환된 커널 모드에선 프로그램의 현재 cpu상태를 저장하고, 인터럽트나 시스템 콜을 직접 처리하게 된다. 그리고 처리가 완료되면 중단됐던 프로그램의 cpu 상태를 복원하고 다시 유저 모드로 전환되며 프로그램이 이어서 실행된다. 커널(kernel) 운영체제의 핵심이며, 이를 규정짓는 매우 중요한 소프트웨어. 시스템의 전반을 관리/감독하는 역할이다. 하드웨어의 자원을 자원이 필요한 프로세스에 나눠주고, 프로세스 제어, 메모리 제어, 시스템 콜 등을 수행하는 부분으로 운영체제의 가장 아래 계층에서 돌아간다..