OS(15)
-
[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] Network Layer Protocols, TCP/UDP and Bootstrapping
2.13 Network-Layer ProtocolsMost of the communication domains supported by the socket IPC mechanism provide access to network protocols. These protocols are implemented as a separate software layer logically below the socket software in the kernel. The kernel provides many ancillary services, such as buffer management, message routing, standardized interfaces to the protocols, and interfaces to ..
2024.07.06 -
[FreeBSD] Interprocess Communication
2.12 Interprocess CommunicationInterprocess communication in FreeBSD is organized in communication domains. The most important domains currently supported include the local domain, for communication between processes executing on the same machine; the IPv4 domain, for communication between processes using the TCP/IP protocol suite (version 4); and the IPv6 domain, which is the newest version of ..
2024.06.29 -
[FreeBSD] The Fast Filesystem
2.9 The Fast FilesystemA regular file is a linear array of bytes and can be read and written starting at any byte in the file. The kernel distinguishes no record boundaries in regular files, although many programs recognize line-feed characters as distinguishing the ends of lines, and other programs may impose other structure. No system-related information about a file is kept in the file itself..
2024.06.29 -
[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 -
[FreeBSD] Memory Management
2.6 Memory ManagementEach process has its own private address space. The address space is initially divided into three logical segments: text, data, and stack. The text segment is read-only and contains the machine instructions of a program. The data and stack segments are both readable and writable. The data segment contains the initialized and uninitialized data portions of a program, whereas ..
2024.06.25 -
[FreeBSD] Security, Process Credentials and Jail Virtualization
2.5 Security The FreeBSD security model has been developed over 40 years of evolving application needs. The key insight is that security must be part of system design; it cannot be successfully added later. The model addresses many different goals:Support authenticated local and remote access by multiple users, as well as integration with distributed authentication and directory servicesAllow us..
2024.06.25 -
[FreeBSD] Kernel Services and Process Management
Kernel Services The boundary between the kernel- and user-level code is enforced by hardware-protection facilities provided by the underlying hardware. The kernel operates in a separate address space that is inaccessible to user processes. Privileged operations—such as starting I/O and halting the central processing unit (CPU)—are available to only the kernel. Applications request services from ..
2024.05.01 -
[FreeBSD] Design Overview of FreeBSD
The kernel 커널이란? The kernel is the part of the system that runs in protected mode and mediates access by all user programs to the underlying hardware (e.g., CPU, keyboard, monitor, disks, network links) and software constructs (e.g., filesystem, network protocols). The kernel provides the basic system facilities; it creates and manages processes and provides functions to access the filesyste..
2024.04.13 -
[Paper review] Xen and the Art of Virtualization
Xen and the Art of Virtualization Abstraction Numerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of performance. Others sacrifice security or functionality for speed. Few offer resource isolation or..
2024.03.15