운영체제(Operating system, OS)
는 컴퓨터의 하드웨어를 관리하는 소프트웨어이다.
컴퓨터에는 수 많은 하드웨어가 존재하고 여러 입출력 디바이스도 연결되어있으며 동시에 수 많은 응용 프로그램들이 작동된다. 이러한 구조 속에서 사용자가 한정된 메모리나 시스템 자원을 분배하고 처리되어야 하는 일의 순서를 정하는 등의 관리를 하는 것은 쉽지 않기 때문에, 운영체제가 이를 대신하여 관리한다.
즉, 운영체제는 유저 측면에서는 편리한 사용을 위한, 시스템 측면에서는 제어와 자원의 효율적 관리를 목적으로하는 하나의 인터페이스이다.
modebit
을 참고하여 유저 모드와 커널 모드를 변경하고 커널 모드로 변환 된 다음 운영체제를 통해 자원에 접근 및 요청의 처리를 진행하고 처리가 완료되념 다시 유저 모드로 돌아가게 된다. 이러한 과정을 이중 동작 모드(Dual Mode)
라고 하며, 컴퓨터 자원에 대한 직접적인 접근을 차단하고 프로그램 간의 간섭을 방지하는 일종의 보호 장치이다.프로세서가 프로그램을 실행하는 도중, 예기치 않은 상황의 발생이나 입출력 하드웨어 등의 장치에서 발생한 예외로 처리가 필요할 때, 이 상황에 대한 우선 처리의 필요성을 프로세서에게 알리는 것이 인터럽트(Interrupt)
이다. 디바이스에서 프로세서로 처리를 요청하는 신호이며, 프로세서는 현재 진행하던 일을 중지하고 인터럽트를 우선적으로 처리하며, 처리가 끝나면 이전에 수행하던 일을 이어서 수행하게 된다.
Trap
이라고 부르며, 잘못된 명령 또는 데이터에 잘못된 접근을 할 때 발생.주 프로그램의 실행 중 인터럽트가 발생하면 인터럽트 우선 순위에 따라 실행 여부를 판단 후, 인터럽트 벡터를 읽어 ISR(Interrupt Service Routine)의 주소값을 얻고 이동, 진행 중이던 프로그램의 상태를 보존 한 뒤 코드를 실행하고, 루틴이 종료되면 이전의 상태를 복원한 뒤 인터럽트가 해제된다.