Atualmente, estou estudando drivers de dispositivo em um curso de sistemas operacionais e estou ficando confuso em relação à diferença entre as estruturas "inode" e as estruturas "cdev". Alguém poderia esclarecer as diferenças entre essas duas estruturas e o que elas pretendem alcançar?
relate perguntas
-
Formato de bytes hiddev?
-
Usando CapsLock como botão esquerdo do mouse; principalmente funciona, mas falha com algumas coisas
-
Existem arquivos criados e/ou ampliados pelo sistema além de correio e logs?
-
Usar /dev/ramX como seus dispositivos especiais correspondentes?
-
Como escrever em um dispositivo especial de caractere?
Sua pergunta não menciona nenhum contexto específico; esta resposta descreve
struct cdev
estruct inode
.Os dois são fundamentalmente diferentes.
struct cdev
representa um dispositivo de caractere, dando acesso a um driver; ele aponta para as implementações das várias operações suportadas por um dispositivo de caractere.struct inode
representa um inode, juntamente com todas as informações que o kernel precisa para usá-lo e rastreá-lo. Um inode dá acesso a um arquivo e contém os metadados do arquivo: sua propriedade, permissões, ACLs, timestamps, tamanho etc. estado é, etcUma instância de a
struct inode
pode conter um ponteiro para astruct cdev
, se o próprio inode corresponder a um dispositivo de caractere ( por exemplo , o inode correspondente a/dev/null
, uma vez instanciado no kernel, é representado por umstruct inode
comi_cdev
apontando para o dispositivo de caractere relevante).