인터럽트(Interrupt)

이강용·2024년 7월 21일
0

CS

목록 보기
83/109

인터럽트(Interrupt)

  • 프로서서가 현재 수행 중인 작업을 일시적으로 멈추고 긴급하게 처리해야 할 다른 작업을 우선 수행하게 하는 매커니즘
  1. 하드웨어 이벤트 : 키보드 입력, 마우스 클릭, 디스크 I/O 완료 등
  2. 소프트웨어 이벤트 : 소프트웨어가 특정 조건을 충족하거나 예외 상황이 발생했을 때(예: 시스템 호출, 디버깅)

인터럽트의 작동 방식

  1. 인터럽트 발생 : 인터럽트가 발생하면 인터럽트 신호가 프로세서로 전달
  2. 현재 작업 중단 : 프로세서는 현재 실행 중인 명령어를 완료한 후, 현재 상태(프로그램 카운터, 레지스터 등)을 저장
  3. 인터럽트 벡터 조회 : 인터럽트 벡터 테이블을 조회하여 해당 인터럽트에 대한 핸들러의 주소를 가져옴
  4. 인터럽트 핸들러 실행(ISR, 인터럽트 서비스 루틴) : 인터럽트 핸들러를 실행하여 인터럽트 원인을 처리
  5. 상태 복원 및 작업 재개 : 핸들러 실행이 완료되면, 저장된 상태를 복원하고 중단된 작업을 재개

실습

a.js

const express = require("express");
const app = express();
const path = require("path");
const pt = path.join(__dirname, "a.json");
const fs = require("fs");
app.get("/", (req, res) => {
  const ret = fs.readFileSync(pt);
  res.json(JSON.parse(ret));
});
app.listen(3000, () => {
  console.log("Server listening on port 3000");
});

a.json

{
  "id": 1,
  "title": "자바스크립트 풀스택 MEVN",
  "author": "큰돌1",
  "links": [
    {
      "rel": "self",
      "href": "/books/1"
    }
  ]
}

ps -ef | grep node

kill -9 14761

profile
HW + SW = 1

0개의 댓글