Os drivers são parte dos sistemas operacionais?

11

Tenho dificuldade em entender o que está incluído em um sistema operacional e o que não está. Um driver de dispositivo, como um driver de impressora ou parte de driver gráfico de um sistema operacional? Pensando na definição de um sistema operacional, acredito que os drivers são parte dos sistemas operacionais.

    
por fireant 10.07.2012 / 13:07

3 respostas

11

Sim, os drivers fazem parte do sistema operacional. Eles são executados com o mesmo nível de privilégio que o kernel do sistema operacional e, para escrever um driver, você deve saber bastante sobre os componentes internos do SO. O papel dos drivers é fornecer uma abstração do hardware para que os aplicativos possam usá-lo através da API do sistema operacional (interface de programação de aplicativos), em vez de precisar saber detalhes específicos dele. Em muitos casos, também permite o compartilhamento da mesma peça de hardware entre vários aplicativos simultaneamente.

Algo que engana os usuários em pensar drivers pode não fazer parte do sistema operacional é que muitos fornecedores fornecem drivers para hardware que eles fazem separadamente do sistema operacional. De fato, muitos drivers são apresentados como módulos carregáveis que podem ser carregados e, em seguida, participam do sistema operacional dinamicamente. Uma vez que eles não são mais usados, eles podem ser "desconectados" do sistema operacional e continuar funcionando normalmente.

Carregáveis ou não, os drivers são sempre específicos dos dispositivos que devem disponibilizar ao sistema, de modo que, embora às vezes sejam partes "opcionais" do sistema operacional, participam dele ao operar.

    
por 10.07.2012 / 13:23
4

O termo "SO" pode significar muitas coisas.

Enquanto na maioria dos sistemas operacionais, o kernel é o código que está gerenciando e "executando" tudo, e arbitrando os acessos ao hardware, geralmente não pode fazer nada interessante - seu trabalho é fornecer uma estrutura para aplicativos para executar "no topo" se. A definição de um SO em muitas pessoas inclui utilitários, shells e programas que compõem um ambiente familiar e padronizado.

Os drivers dependem do kernel, e provavelmente é mais correto dizer que eles o "estendem", como os plugins. O Linux suporta a noção de "módulos de kernel carregáveis" - e todos os drivers de dispositivos podem ser um módulo de kernel carregável. Também é possível construir um kernel onde um ou mais desses módulos estejam "embutidos" e não separados do kernel. Então você realmente poderia construir um kernel "sem modulação" no Linux, e ele não seria capaz de suportar nenhum hardware além dos módulos que você construiu nele.

Estou menos familiarizado com a coragem do Windows, mas acredito que, exceto por alguns poucos drivers de miniporta, todos os drivers são arquivos externos que são carregados na inicialização. Se você cavar um pouco na criação de serviços no Windows, parece que os drivers são apenas formas especiais de serviços no Windows. Alguns programas instalam drivers para acessar o hardware em um nível baixo, mas não necessariamente para dirigir um dispositivo; esses são normalmente os drivers "Não-plug and play" no Gerenciador de dispositivos. Assim, também parece que os drivers servem a mesma função conceitualmente como módulos de kernel carregáveis no Linux.

Eu gostaria de dizer, por simplicidade, que eles são parte do sistema operacional, já que eles não podem ser usados sem o sistema operacional e não são úteis, a menos que o sistema operacional seja inicializado, mas a linha desenhada é bastante arbitrária. / p>     

por 10.07.2012 / 19:16
1

Nenhum driver não faz parte do sistema operacional. Você pode dizer que os drivers ajudam o sistema operacional a se comunicar com o dispositivo ou hardware. OS não contém todos os drivers por padrão, como no Windows XP e Vista, mas no Windows 7 a maioria dos drivers necessários incluídos, para que você não confunda que eles não fazem parte do sistema operacional.

    
por 10.07.2012 / 13:25