Quais componentes do subsistema Linux IO são independentes de dispositivos e dispositivos?

0

Do SO moderno de Tanenbaum,

every operating system has an I/O subsystem for managing its I/O devices. Some of the I/O software is device independent, that is, applies to many or all I/O devices equally well. Other parts of it, such as device drivers, are specific to particular I/O devices.

Existe também um diagrama das camadas dos sistemas de software de E / S:

NosdoisdiagramasaseguirdosubsistemaIOdeLinux,vocêpodedesenharumlimiteentrecomponentesindependentesdedispositivoedependentesdedispositivo?Emoutrasalas,quaiscomponentesdependemdodispositivoequaiscomponentessãoindependentesdodispositivo?Meupensamentoé"drivers" são dependentes do dispositivo, e "VFS" é independente do dispositivo. Mas não tenho certeza sobre os outros componentes.

Do mesmo livro:

EntendendooLinuxKernel2005doBovettambémtemum:

    
por Tim 29.01.2016 / 00:36

1 resposta

1

No primeiro diagrama do Linux, acima da parte "driver de dispositivo"; o mesmo para o diagrama de Bovet.

Ao escrever um sistema operacional, você deseja manter as partes dependentes do dispositivo o mais isoladas possível, para que você possa adicionar outros dispositivos de maneira limpa. No caso do Linux, o "driver de dispositivo para um disco" (ou "placa de rede" ou "placa WiFi", ou qualquer outro) é uma classe no sentido de programação orientada a objetos, refinada em classes para tipos de dispositivos individuais (por exemplo, "Realtek Semiconductor Co., Ltd. Controlador Gigabit Ethernet PCI Express RTL8111 / 8168/8411"), que por sua vez podem ser instatados como várias cópias dos mesmos (ou similares) dispositivos, como necessário. por exemplo. cujos objetos são Em alguns casos, a funcionalidade específica do dispositivo é abstraída em subsistemas de nível mais alto, como toda a manipulação complexa de domínios administrativos e restrições de WiFi (isso era originalmente parte de cada driver). Às vezes, há dispositivos sobrepostos uns aos outros, como um pendrive USB, que usa USB e é tratado como um disco SCSI por USB, ou SCSI por IP (que por sua vez é executado por interfaces de rede de fibra ótica).

tl; dr: Esta separação clara (como muito mais o que você vê nos textos do "sistema operacional") é apenas um muito primeira aproximação bruta, a realidade é uma bagunça muito mais interessante.

    
por 29.01.2016 / 02:59

Tags