OS10 인터럽트를 알아보자 인터럽트란 무엇일까 ❓ 예상치 못한 외부에서 발생한 이벤트를 말한다. 인터럽트의 종류는 다양하지만 대표적으로 I/O interrupt가 있다. 예를 들어서 게임(하나의 프로세스)을 하고 있을 때 언제 마우스를 눌러 총이 발사할지 프로세스는 예상하지 못한다. 따라서 예상하지 못한 외부에서 발생한 이벤트 인터럽트가 발생한 것이다. 인터럽트는 어떻게 처리될까 ❓ 인터럽트가 발생하면 커널이 개입하여 프로세스를 중단시킨 다음 인터럽트를 처리하는데 인터럽트 처리 과정은 2가지로 나뉜다. Interrupt handling : 인터럽트의 발생장소와 원인을 파악하여 인터럽트 서비스를 할 것인지 말 것인지 결정한다. Interrupt service : 인터럽트를 서비스하기로 결정했다면 인터럽트 서비스 루틴을 호출한다. 먼.. 2020. 12. 31. 운영체제가 프로세스를 어떻게 관리할까❓ 작업(Job)과 프로그램(Program)은 컴퓨터 시스템에서 실행 요청 전의 상태라 프로그램과 프로세스는 다르다. 프로세스가 정확히 무엇인지 알아보도록 하자. 프로세스(process)란 실행을 위해서 커널에 등록된 작업으로 커널에 의해 관리되는 실행 중인 프로그램이라고 할 수 있다. 프로세스는 프로세스 관리 블록(PCB)을 할당받는 개체로 각종 자원들을 요청하고 할당받을 수 있다. 따라서 실행 중에 각종 자원을 요구하고 할당받고 반납하는 능동적인 개체이다. 프로세스 관리 블록(PCB, Process Control Block)이란 ❓ 메모리 영역은 프로세스가 쓰는 공간과 커널 공간이 있으며 PCB는 커널 공간 내에 존재하고 프로세스가 생성 시 생성된다. OS가 프로세스 관리에 필요한 정보를 저장하는 곳으로.. 2020. 12. 31. 운영체제의 구조와 기능을 간단히 살펴보자 운영체제는 커널과 유틸리티 2개의 구조로 되어있다. 커널(Kernel) : OS의 핵심 부분으로 가장 빈번하게 사용되는 기능들을 담당하기에 메모리에 상주되어있다. 유틸리티(Utility) : 비상주 프로그램으로 UI등의 서비스 프로그램을 뜻한다. 👀 단일구조 단일 구조일 경우 커널이 거대해지고 오류와 버그, 추가 기능 구현 등의 유지보수가 어렵다. 또한 동일 메모리에 모든 기능이 있어 한 모듈의 문제가 전체 시스템에 영향을 줄 수 있다. 예를 들어서 메모리 관리자 모듈에 악성코드가 있다고 한다면 나머지 모듈들에도 악성코드가 접근 가능하다. 👀 계층구조 이렇게 모듈별로 계층을 두어 유지보수가 쉽고 설계를 단순화한다. 그러나 하나의 모듈에 접근하기 위해 여러 모듈을 거쳐 접근해야한다. 운영체제의 기능 1️⃣.. 2020. 12. 31. 운영체제를 본격적으로 들어가기 전에 - 컴퓨터 시스템 개요 운영체제란 ❓ HW(컴퓨터 시스템)을 효율적으로 관리해서 사용자나 응용 프로그램에게 서비스를 제공하는 것 하드웨어는 크게 3종류로 나뉜다. 프로세서(CPU, GPU) 메모리(DRAM, Disk) 주변장치(키보드,마우스,모니터, 네트워크 모뎀) 프로세서(Processor) 컴퓨터 모든 장치의 동작을 제어하며 연산 수행을 담당한다. 즉 컴퓨터의 두뇌로써 중앙처리장치 레지스터(Register) 프로세서 내부에 존재하는 메모리 레지스터 종류에 따라서 1. 사용자 가시 레지스터 데이터 레지스터(DR, Data Register) 함수 연산에 필요한 데이터를 저장, 값 혹은 문자등을 저장하여 산술/논리 연산 수행 주소 레지스터(AR, Address Register) 유효 주소를 계산하는데 필요한 주소의 일부분을 저장.. 2020. 12. 30. 이전 1 2 다음