ComputerScience(120)
-
[FreeBSD] Process Management, Multiprogramming and Scheduling
Part II: ProcessesChapter 4.1 Introduction to Process ManagementA process is a program in execution. (프로세스의 정의. 정확하게 따지자면, 프로그램과는 구분된다.)A process has an address space containing a mapping of its program’s object code and global variables. It also has a set of kernel resources that it can name and on which it can operate using system calls. These resources include its credentials, signal state, a..
2024.07.16 -
[FreeBSD] Kernel Tracing Facilities, DTrace and KTR
3.8 Kernel Tracing FacilitiesOperating-system kernels are large and complex pieces of software, encompassing thousands of lines of mainly C code, organized into dozens of subsystems and including hundreds of device drivers. Understanding what is happening within the operating system while it is running is important not only to developers of the code but also to the much larger group of people wh..
2024.07.16 -
[PIM] CPU/DPU Programming Code Review
PrIM BenchmarksVertor Addition Code Reivew https://github.com/SohyeonKim-dev/prim-benchmarks GitHub - SohyeonKim-dev/prim-benchmarks: PrIM (Processing-In-Memory benchmarks) is the first benchmark suite for a real-world prPrIM (Processing-In-Memory benchmarks) is the first benchmark suite for a real-world processing-in-memory (PIM) architecture. PrIM is developed to evaluate, analyze, and charact..
2024.07.16 -
[FreeBSD] Resource Services
3.7 Resource ServicesAll systems have limits imposed by their hardware architecture and configuration to ensure reasonable operation and to keep users from accidentally (or maliciously) creating resource shortages. (오오.. 모든 시스템은 한계를 가진다 by 안정성)At a minimum, the hardware limits must be imposed on processes that run on the system. It is usually desirable to limit processes further, below these har..
2024.07.15 -
[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] Memory Management Services
3.5 Memory-Management ServicesThe memory organization and layout associated with a FreeBSD process is shown in Figure 3.3. Each process begins execution with three memory segments: text, data, and stack. The data segment is divided into initialized data and uninitialized data (also known as bss). The text is read-only and is normally shared by all processes executing the file, whereas the data a..
2024.07.14 -
[FreeBSD] Clock Interrupts
3.4 Clock InterruptsThe system is driven by a clock that interrupts at regular intervals. Each interrupt is referred to as a tick. On the PC, the clock ticks 1000 times per second. At each tick, the system updates the current time of day as well as user-process and system timers. Handling 1000 interrupts per second can be time consuming. To reduce the interrupt load, the kernel computes the num..
2024.07.10 -
[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