Sistemas Operativos II - Funcionamento Interno - PDF
Document Details
Uploaded by jorgecosta
ISEC
Tags
Summary
Este documento apresenta um resumo detalhado do funcionamento interno de sistemas operativos utilizando chamadas ao sistema como exemplo para entender melhor os processos de sistemas operativos. São fornecidos exemplos de comandos e funções típicos de sistemas operativo como o Windows.
Full Transcript
Sistemas Operativos II Funcionamento interno de sistemas operativos SO II – 24/25 Interpretador de Comandos (Chamadas ao...
Sistemas Operativos II Funcionamento interno de sistemas operativos SO II – 24/25 Interpretador de Comandos (Chamadas ao sistema) Gestão de Gestão de Processos ficheiros e (processos, pastas Principais comunicação e sincronização Componente entre s / Funções processos,…) do Sistema Operativo Gestão de Gestão de E/S memória (Periféricos, (Memória, Entrada e Segurança e Saída) proteção,...) Funcionamento interno SOs SO II – 24/25 Interpretador de Comandos, Chamadas ao sistema Introdução Interpretador de Comandos Chamadas ao sistema Exemplo de Chamadas ao Sistema Modos de Acesso Funcionamento interno SOs SO II – 24/25 Shell Interpretador de comandos utilizador utilizador O interpretador de comandos, também Sistema Operativo conhecido como shell, é uma interface que permite ao utilizador interagir diretamente com o sistema operativo através de comandos digitados numa linha de comando, sendo o responsável por utilizador interpretar e executar as instruções fornecidas pelo utilizador. É uma interface essencial para administração de sistemas e pode ser apresentado em modo de texto ou em modo GUI. Funcionamento interno SOs SO II – 24/25 Interpretador de comandos Alguns sistemas incluem o interpretador de comandos no próprio núcleo (kernel), outros (ex: MS‐DOS) tratam o interpretador de comandos como um programa à parte Funções/Comandos: Criação e gestão de processos e threads Gestão do sistema de E/S Gestão de memória principal e secundária Gestão de ficheiros Sistema de proteção No MS-DOS e nas versões iniciais do Windows, o principal interpretador de comandos era o COMMAND.COM, que oferecia uma interface básica para manipular ficheiros e pastas, executar programas e configurar o sistema. A partir do Windows NT e das versões modernas do Windows, o CMD.EXE substituiu o COMMAND.COM, mantendo a mesma funcionalidade básica, mas com melhorias no desempenho e na compatibilidade com o ambiente gráfico. Posteriormente, a Microsoft introduziu o PowerShell, um interpretador de comandos mais avançado, baseado em.NET, que oferece capacidades de script muito mais poderosas e integrações profundas com componentes do sistema. Funcionamento interno SOs SO II – 24/25 Interpretador de comandos Comandos Comuns no CMD: dir: Lista o conteúdo de um diretório. copy: Copia ficheiros de um local para outro. del: Elimina ficheiros. mkdir: Cria um novo diretório. rmdir: Remove um diretório vazio. Comandos Comuns no PowerShell: Get-Process: Lista os processos em execução no sistema. Get-Service: Lista os serviços do sistema operativo. Set-ExecutionPolicy: Define políticas de execução para scripts. Copy-Item: Copia ficheiros ou diretórios. Remove-Item: Remove ficheiros ou diretórios. Funcionamento interno SOs SO II – 24/25 Interpretador de Comandos, Chamadas ao sistema) Introdução Interpretador de Comandos Chamadas ao sistema Exemplo de Chamadas ao Sistema Modos de Acesso Funcionamento interno SOs SO II – 24/25 Chamadas ao sistema É uma função que um programa ou utilizador invoca para pedir que o sistema operativo execute uma tarefa em seu nome. Como os programas funcionam em modo utilizador (user mode) com privilégios limitados, precisam de recorrer a chamadas ao sistema para executar operações que requerem privilégios de modo kernel, como operações de E/S (entrada/saída), gestão de memória, ou manipulação de processos, ou seja, é um mecanismo de proteção do núcleo e do acesso aos seus serviços, que evita a realização de operações que danifiquem o sistema comprometendo o seu funcionamento. As system calls fornecem um conjunto de funções padronizadas que os programas podem usar, sem precisar de conhecer os detalhes de implementação interna do sistema operativo, são a porta de entrada para se ter acesso ao núcleo do sistema operativo. Funcionamento interno SOs SO II – 24/25 Chamadas ao sistema Cada sistema operativo tem o seu próprio conjunto de chamadas ao sistema, como o POSIX em sistemas Unix/Linux ou o API Win32 no Windows, que permitem a realização de tarefas como leitura e escrita de ficheiros, alocação de memória, comunicação com dispositivos de hardware, ou gestão de processos. Funcionamento interno SOs SO II – 24/25 Interpretador de Comandos, Chamadas ao sistema) Introdução Interpretador de Comandos Chamadas ao sistema Exemplo de Chamadas ao Sistema Modos de Acesso Funcionamento interno SOs SO II – 24/25 Exemplo de Chamadas ao Sistema (win32) Manipulação de Processos Chamada Descrição CreateProcess Cria um processo WaitForSingleObject Aguarda um processo terminar ExitProcess Termina a execução do processo Funcionamento interno SOs SO II – 24/25 Exemplo de Chamadas ao Sistema (win32) Manipulação de Ficheiros e Diretórios Chamada Descrição CreateDirectory Cria um novo diretório RemoveDirectory Remove um diretório vazio DeleteFile Remove uma entrada do diretório Funcionamento interno SOs SO II – 24/25 Exemplo de Chamadas ao Sistema (win32) Ações sobre Ficheiros Chamada Descrição CreateFile Cria um ficheiro ou abre um ficheiro existente CloseHandle Lê dados de um ficheiro WriteFile Escreve dados num ficheiro SetFilePointer Posiciona o ponteiro de deslocamento do ficheiro GetFileAttributeEx Obtém informações de controlo do ficheiro Funcionamento interno SOs SO II – 24/25 Exemplo de Chamadas ao Sistema (win32) CreateFile(): No Windows, esta função é usada para abrir ou criar ficheiros. Ela devolve um handle (um identificador) que é usado para Ações sobre Ficheiros interagir com o ficheiro. exemplo em C Funcionamento interno SOs SO II – 24/25 Exemplo de Chamadas ao Sistema (win32) ReadFile(): Lê os dados do ficheiro para o buffer. CloseHandle(): Fecha o ficheiro e liberta os recursos associados ao handle. Ações sobre Ficheiros exemplo em C Funcionamento interno SOs SO II – 24/25 Interpretador de Comandos, Chamadas ao sistema) Introdução Interpretador de Comandos Chamadas ao sistema Exemplo de Chamadas ao Sistema Modos de Acesso Funcionamento interno SOs SO II – 24/25 Modos de acesso Recapitulando, os programas funcionam em modo utilizador (user mode) com privilégios limitados, precisam de recorrer a chamadas ao sistema para executar operações que requerem privilégios de modo kernel, como operações de E/S (entrada/saída), gestão de memória, ou manipulação de processos, ou seja, é um mecanismo de proteção do núcleo e do acesso aos seus serviços, que evita a realização de operações que danifiquem o sistema comprometendo o seu funcionamento e segurança. SO II – 24/25