200 likes | 311 Views
Sistemas Operacionais. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Estrutura do SO. 13/08/2013. Tópicos abordados. Introdução; Funções do núcleo; Modo de acesso; Rotinas do SO e System Calls ; Chamada a rotinas do SO;
E N D
Sistemas Operacionais Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari
Estrutura do SO 13/08/2013
Tópicos abordados • Introdução; • Funções do núcleo; • Modo de acesso; • Rotinas do SO e System Calls; • Chamada a rotinas do SO; • Linguagem de comandos; • Ativação/Desativação do SO; • Arquiteturas de núcleo; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Introdução • Um SO é um conjunto de rotinas que dão suporte ao usuário e as suas aplicações; • O conjunto de rotinas é chamado de núcleo ou Kernel; • Geralmente junto com o SO, mas não inclusos no núcleo, estão presentes utilitários e uma linguagem de comandos; • Existem três formas do usuário se comunicar com o núcleo do SO: • Pela linguagem de comandos; • Pelas chamadas de rotinas utilizadas pelas aplicações; • Pelos utilitários do SO. • A estrutura do núcleo pode variar de acordo com o projeto do SO. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Modo de acesso • Grande problema no projeto de SOs é a proteção do núcleo e a forma de acesso aos serviços do núcleo do SO; • Caso uma aplicação com acesso ao kernel execute algo não permitido pode colocar todo o sistema em risco; • SOs utilizam proteção no hardware do processador • Um conjunto de bits no registrador de estado da CPU que indica o modo de acesso e pode ser: • Mondo usuário; • Aplicações executam apena instruções não privilegiadas. • Modo Kernel; • Aplicações podem ter acesso a todas as instruções da CPU. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Rotinas e System Calls • Rotinas de um SO são os serviços do núcleo e fornecem serviços para os usuários e suas aplicações; • São implementadas em modo protegido, ou seja, em modo kernel; • Para serem executadas o processador deve estar executando em modo kernel; • System Calls controlam a execução das rotinas do SO; • Quando uma aplicação necessita de uma rotina do SO ela ativa uma System Call; • Ao invocar uma System Call, o SO verifica se a aplicação possui privilégios para acessá-la: • Se não possui, a execução é impedida pela proteção do SO; • Se possui, o SO deve salvar o conteúdo dos registradores do processador, trocar o modo de acesso para modo kernel, realiza o desvio alterando o valor de PC (ProgramCounter); • Ao terminar a execução da rotina, o processador deve voltar para o modo usuário e a aplicação voltar a ser executada. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Rotinas e System Calls • Chamada a uma Rotina do Sistema: Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Rotinas e System Calls • Aplicações sempre executam em modo usuário; • Caso uma aplicação tente executar uma rotina sem o intermédio do SO, o mecanismo de proteção ao hardware impede a operação. • O hardware do processador indicará um erro; • Uma exceção é gerada e a execução do programa é interrompida para proteger o sistema; • Essas medidas garantem a integridade do sistema, impedindo aplicações de executarem instruções não permitidas sem autorização do SO. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Rotinas e System Calls • Aplicações sempre executam em modo usuário; • Caso uma aplicação tente executar uma rotina sem o intermédio do SO, o mecanismo de proteção ao hardware impede a operação. • O hardware do processador indicará um erro; • Uma exceção é gerada e a execução do programa é interrompida para proteger o sistema; • Essas medidas garantem a integridade do sistema, impedindo aplicações de executarem instruções não permitidas sem autorização do SO. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Chamada a Rotinas do SO • Rotinas do SO e System Calls são portas de entrada ao núcleo do SO; • Quando uma aplicação necessita de um serviço do SO ela deve utilizar uma System Call; • Essa comunicação entre aplicação e SO é semelhante a invocação de uma sub-rotina de uma aplicação. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Chamada a Rotinas do SO • O termo System Call é mais utilizado como terminologia Linux; • Para outros SOs podem existir diferentes termos, mas a funcionalidade é a mesma; • Exemplos: • System services no OpenVMS; • API – ApplicationProgram Interface no Windows. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Chamada a Rotinas do SO • Exemplos: • O trecho de programa em Java retorna a data do sistema: privateStringgetDateTime() { DateFormatdateFormat = new SimpleDateFormat("dd/MM/yyyyHH:mm:ss"); Date date = new Date(); returndateFormat.format(date); } • O método Date() deve ser invocado no modo protegido; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Chamada a Rotinas do SO • Os detalhes envolvidos na recuperação da data, em carregar um arquivo do disco ou uma operação de I/O é transparente ao usuário/programador; • As rotinas podem ser divididas em grupos de função: Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Chamada a Rotinas do SO • Cada SO possui suas rotinas específicas com seus próprios nomes; • Uma aplicação feita para um determinado SO não deve rodar em outro; • A IEEE e o ISSO padronizaram rotinas e lançaram o POSIX (PortableOperating System Interface); • A maioria dos sistema operacionais possuem suporte ao POSIX como Windows, SUM-Solaris, Linux, etc. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Ativação e desativação do sistema • A memória RAM principal do computador não armazena dados permanentemente, pois é volátil; • Toda vez que ligamos um computador deve ser carregado o SO de uma memória secundária para a memória principal; • O processo desse carregamento chama-se ativação do sistema ou boot; Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Ativação e desativação do sistema • Inicialmente é carregado o Boot Loader, gravado na ROM da máquina; • O Boot Loader carrega o POST (Power On Self Test); • Logo após, o procedimento de ativação procura um SO em alguma mídia; • Se encontrar é porque existe informações gravadas no setor de boot (boot sector) dela; • A partir daí o SO controla o hardware. • A maioria dos SO possuem um processo reverso de Shutdown; • Ele permite que aplicações e componentes do SO sejam encerrados corretamente e na sequencia adequada. Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Ativação e desativação do sistema Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013
Arquitetura do núcleo Prof. Edivaldo Serafim Sistemas OperacionaisIFSP 2013