[FreeBSD] Devices

2024. 6. 29. 09:33ComputerScience/FreeBSD

 

 

 

2.8 Devices

  • Historically, 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 running. With increasing complexity and types of I/O buses, the routing of I/O requests has become complex. In a multiprocessor, for example, device interrupts must be routed to the most appropriate processor, which may not be the same one that previously handled the device. (멀티 프로세서 + 복잡해진 I/O에 따라 달라진 device 환경) An overview of the PC architecture is given in Section 8.1. Devices are described by character device drivers. Sections 8.2 through 8.6 introduce the structure of device drivers and then detail device drivers for disks, network interfaces, and terminals.

 

  • Logical disks may no longer refer to a partition on a single physical disk but instead may combine several slices and/or partitions to create a virtual partition on which to build a filesystem that spans several disks. The aggregation of physical disk partitions into a virtual partition in these ways is referred to as volume management. Rather than building all this functionality into all the filesystems or disk drivers, it has been abstracted out into the GEOM (geometry) layer. The operation of the GEOM layer is described in Section 8.7. The management of the disk subsystem in FreeBSD is described in Section 8.8.

 

  • Autoconfiguration is the procedure carried out by the system to recognize and enable the hardware devices present in a system. Historically, autoconfiguration was done just once when the system was booted. In current machines, particularly portable machines such as laptop computers, devices routinely come and go while the machine is operating. Thus, the kernel must be prepared to configure, initialize, and make available hardware when it arrives and to drop operations with hardware that has departed. FreeBSD uses a device-driver infrastructure called newbus to manage the devices on the system. The newbus architecture is described in Section 8.9.

 

 

 

https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.sciencedirect.com%2Ftopics%2Fcomputer-science%2Fstorage-virtualization&psig=AOvVaw3l1JS_VQwbVoTCeSAeclmJ&ust=1719707402460000&source=images&cd=vfe&opi=89978449&ved=0CBEQjRxqFwoTCOjFxrjH_4YDFQAAAAAdAAAAABAn