Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Proxy
- 뮤텍스
- 플로이드 워셜
- 프록시
- 호스팅이란?
- floyd-warshall
- 세마포어와 뮤텍스의 차이
- 세마포어란?
- 세마포어와 뮤텍스
- 세마포어
- Synchronization
- 서버 호스팅
- SSAFY
- 다익스트라 알고리즘
- 뮤텍스란?
- 호스팅
- 동기화
- Proxy Server
- 플로이드 와샬
- 싸피 합격
- 삼성 청년 SW 아카데미
- 프록시서버
- 클라우드 서버
- 싸피
- 웹 호스팅
- 최단 경로
- 다익스트라
- 싸피 면접 후기
- Dijkstra Algorithm
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
[운영체제] 인터럽트의 종류 본문
인터럽트는 크게 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나눌 수 있다.
외부 인터럽트
전원 이상 인터럽트
- 말 그대로 외부로부터 발생
- 파워 공급이 갑자기 떨어지면 이를 감지하고 CPU에게 인터럽트를 건다.
- 외부에서의 문제를 느끼고 인터럽트를 걸기 때문에 갑자기 꺼져서 메모리가 날아가는 불상사를 막는 서버 관리가 가능해진다.
I/O인터럽트
- 어떤 일을 진행하는 데 I/O 장치 수행이 필요(키보드, 마우스, 디스크 등)한다면?
- 그러면 CPU는 I/O 장치에게 일을 토스한다. 그리고 CPU는 다른 일을 처리하고 있다.
- 그러고 나서 I/O 처리가 끝나면 CPU한테 신호를 건다.
- 또한 입출력 처리를 하다가 CPU한테 필요한 정보를 요청할 때도 CPU를 부를 수 있다. 즉 입출력 장치가 CPU를 부를 떄 사용하는 것이다 I/O interrupt이다.
타이머 인터럽트
int num = 0;
while( num < 10 ) {
Sytem.out.println("하이");
// num++;
}
- 이렇게 num++을 생략하게 되면 무한 루프를 빠지게 된다.
- 따라서 주기적으로 인터럽트를 걸어서 무한 루프를 빠져나와서 다른 일을 수행한다.
내부 인터럽트
Exception 인터럽트, trap
- CPU가 명령어를 수행할 수 없는 경우 자기 자신한테 거는 인터럽트를 exception이라 한다.
- 대표적으로 '0으로 나눈다'라는 명령어가 들어왔을 경우 0으로 나눌 수 없기에 인터럽트가 발생
S/W인터럽트
SVC
- SVC는 프로세서 명령어로 수행시 문제가 생기면 프로세서가 운영체제를 관리 감독하는 프로그램 (supervisor = 운영체제)에게 제어권을 넘겨서 해결하는 것을 말한다.
- application에서 파일을 직접 읽고 쓰게 하는 것이 아닌! 운영체제에게 수행하게 하는 것이다.
- 그림처럼 user task에서 하드웨어 주변기기에 뭔가를 하고 싶지만 할 권한이 없다
출처
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 프로세스 상태 (0) | 2021.05.25 |
---|---|
[운영체제] Process Address Space 프로세스 메모리 구조 (0) | 2021.05.24 |
[운영체제] 가상 메모리, 페이징, 세그멘테이션, 페이지 교체 기법 (2) | 2021.05.09 |
[운영체제] 메모리 관리 전략 (Memory Management Strategy) (0) | 2021.05.07 |
[운영체제] 세마포어와 뮤텍스 (0) | 2021.04.30 |
Comments