# Interrupt

Operating System #3 인터럽트, 시스템 콜
주변 장치와 입출력 장치는 CPU나 메모리와 달리 인터럽트 라는 메커니즘을 통해 관리된다.: 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고 발생한 상황에 대해 우선 처리가 필요함을 CPU에게 알리는 것현재 수행 중인 작

[OS] Interrupt & Exception
프로세스 과정에 발생하는 동기적, 비동기적 Exception의 원리, 동작, 처리 과정에 대해 알아보자. Interrupt Mechanism(1) Interrupt란 프로세스 처리 중에 일어나는 와부의 사건이다. 프로세스의 Instruction을 처리하는 중에 발생하며

7. Linux Interrupt
프로세스가 CPU를 사용하여 실행하고 있을 때 하드웨어 장치에서 비동기적으로 신호( I/O 같은 )가 발생하여 처리가 필요한 경우에 커널에게 처리를 요청하는 것이다.CPU는 명령을 가져와서 실행을 한다.연산 처리 및 데이터 접근 등등의 일을 하며 하나의 명령 실행이 끝

인터럽트와 I/O
결국 하드웨어가 운영체제에게 전달하기 위해서는 반드시 인터럽트를 통해야 한다.반대로 운영체제가 하드웨어에게 전달하기 위해서는 두가지 방법이 있다.memory mappedstr 24, $300메모리에 바로 할당디바이스 안의 레지스터와 버퍼의 내용이 메모리의 특정한 위치에

[OS] 2) System Structure & Program Execution
위로 갈 수록 접근, 처리 속도가 빠르다. 위로 갈 수록 휘발성이며, 단위 크기당 값이 비싸 보통 용량이 더 작다.cpu에 register가 막 여러개 들어있다. 하드웨어마다 다르지만 register는 32bit, 64bit 크기를 갖는다. 여기에 데이터나 instr
Interrupt Routine
OS에서 Disk Controller로 signal 전달1-1. Disk Controller에서 datas를 모아 Disk에 전달Disk Controller에서 명령 실행 완료 후, 이를 Interrupt Controller에 signal을 통해 알려줌Interrupt
운영체제와 I/O Interrupt
초기의 컴퓨터는 계산기였기 때문에 특별한 규칙이 필요 없었다. 그러나 메모리, CPU 등의 성능이 향상되고, 여러 작업을 동시에 할 수 있는 컴퓨팅 환경이 조성되면서 사용 규칙이 필요해졌다. 규칙이 없으면 기계가 망가질 수도 있기 때문이다.이 때문에 등장한 것이 운영체
[OS] Context Switching
수행 중인 프로세스를 변경할 때, CPU의 레지스터 정보가 변경되는 것을 context switching이라고 한다.CPU가 이전의 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에 읽어 레지스터에 적재하는 과정.보통 인터럽트가 발생하거나, 실행
프로세스
프로그램이 주기억 장치에 적재되어 CPU에 의해 실행 과정에 있을 때 프로세스라고 부른다.목적 또는 결과에 따라 발생되는 사건(프로시저)들의 과정이다.CPU가 할당되는 실체이며 PCB\*가 정의하는 실체이다.\*PCB(Process Control Block) : 프로세

PintOS Project 02 - User program
01 주차에는 kernel에서 필요한 기능을 모두 만들었다면 02주차부터는 user program을 실행시키기 위한 작업을 준비한다. command line을 읽어와서 file name과 argument를 추출하여 순서대로 stack에 push하는 argument pa

✨ARM Interrupts (2)
interrupt가 assert되었을 때 interrupt는 pending될 수 있다.interrupt-set-pending-register(SETPEND)가 pending status를 담고 있다.interrupt source가 interrupt를 de-assert하

✨ARM Interrupts (1)
polling과 interrupt는 동작하는 방식이 다르다.polling은 어떤 event가 발생하진 않았는지 CPU가 주기적으로 확인을 한다.하지만 interrupt는 외부에서 어떤 event가 발생하면 외부에서 CPU로 신호를 직접 보내준다.하나의 non-maska

CPU Virtualization(System Call, Mode Switch)
fork() 새로운 process를 생성하는 system call이다. OS는 fork()를 호출한 프로세스의 address space를 copy해서 동일한 address space를 가진 process를 생성한다. 새로 만들어진 process는 same address

CPU Architecture and Program Execution
하드웨어(프로세서, 메모리, peripheral)와 소프트웨어(OS, 시스템 소프트웨어, application)의 결합Control and Timing Section : CPU가 instruction을 제대로 call할 수 있도록 도와준다Register Section

STM32F407G-DISC1 개발일지 (3)
이번 시리즈에서는 STM32F407 기반 EVM Borad인 STM32F407G-DISC1을 IAR과 Standard Peripheral Libraries로 제어하기 위한 튜토리얼 내용이 담긴 포스팅입니다.