trap(4)
-
[FreeBSD] Traps and Interrupts
3.3 Traps and InterruptsTraps, like system calls, occur synchronously for a process. Traps normally occur because of unintentional errors, such as division by zero or indirection through an invalid pointer. The process becomes aware of the problem either by catching a signal or by being terminated. Traps can also occur because of a page fault, in which case the system makes the page available an..
2024.07.10 -
[FreeBSD] Run-time structure of the kernel
Run-Time OrganizationThe kernel can be logically divided into a top half and a bottom halfThe top half of the kernel provides services to processes in response to system calls or traps. This software can be thought of as a library of routines shared by all processes. The top half of the kernel executes in a privileged execution mode, in which it has access both to kernel data structures and to t..
2024.07.10 -
[FreeBSD] Kernel Organization
3.1 Kernel OrganizationThe FreeBSD kernel can be viewed as a service provider to user processes. Processes usually access these services through system calls. Some services, such as process scheduling and memory management, are implemented as processes that execute in kernel mode or as routines that execute periodically within the kernel.In this chapter, we describe how kernel services are provi..
2024.07.09 -
[운영체제] CPU Interrupt
Interrupt handler - 인터럽트를 해결하는 func - ISR (interrupt service routine) - 인터럽트 발생! -> 운영체제가 수행됨 ⭐️ 인터럽트의 3가지 종류 1) Interrupt - Hardware interrupt - asynchronous - 비동기로 처리된다. - CPU는 이 작업(인터럽트)를 기다리지 않는다 -> 다른 작업 수행 -> 다시 돌아옴 == acync - ex) 키보드 인터럽트, timer interrupt 2) Trap - Software interrupt - Application process - Sync 동기적으로 처리된다. - ex) System Call -> App이 디스크에서 데이터 읽어달라고 OS에게 도움 요청 (캡슐화, 인터페이스 ..
2023.03.25