interrupt(7)
-
[FreeBSD] Timing Services
3.6 Timing ServicesThe kernel provides several different timing services to processes. These services include timers that run in real time and timers that run only while a process is executing. Real TimeThe system’s time offset since January 1, 1970, Universal Coordinated Time (UTC), also known as the Epoch, is returned by the system call gettimeofday. (협정 세계시) Most modern processors (includin..
2024.07.15 -
[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] System Calls
3.2 System CallsThe most frequent trap into the kernel (after clock processing) is a request to do a system call. System performance requires that the kernel minimize the overhead in fielding and dispatching a system call. The system-call handler must do the following work:Verify that the parameters to the system call are located at a valid user address, and copy them from the user’s address spa..
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 -
[FreeBSD] Devices
2.8 DevicesHistorically, the device interface was static and simple. Devices were discovered as the system was booted and did not change thereafter. A typical disk driver could be written in a few hundred lines of code. As the system has evolved, the complexity of the I/O system has increased, with the addition of new functionality. Devices may appear and later disappear while the system is runn..
2024.06.29 -
[운영체제] 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