Sistemas Operacionais Prof. Rafael Silva Roteiro – Primeira Aula • O que é um sistema operacional? • História dos sistemas operacionais • Conceitos dos Sistemas Operacionais • Estrutura dos Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Operacionais 2 INTRODUÇÃO • Sistema Computacional = hardware + software Software – Dividido em dois tipos: Programas do sistema: gerenciam a operação e funcionamento do computador(hardware) Programas de aplicação: programas de usuário, aplicativos Sistema Operacional: principal programa do sistema, que controla todos os recursos do computador (dispositivos físicos e funções de software). Sistemas Operacionais 3 DEFINIÇÃO DE SISTEMA OPERACIONAL • “É um programa de controle do computador. O Sistema Operacional é responsável por alocar recursos de hardware e escalonar tarefas. Ele também deve prover uma interface para o usuário ele fornece ao usuário uma maneira de acesso aos recursos do computador.” Sobell. Sistemas Operacionais 4 USUÁRIOS SISTEMA OPERACIOANAL HARDWARE Sistemas Operacionais 5 DEFINIÇÃO DE SISTEMA OPERACIONAL • “Um Sistema Operacional pode ser definido como um gerenciador dos recursos que compõem o computador (processador, memória, I/O, arquivos, etc). Os problemas centrais que o Sistema Operacional deve resolver são o compar-tilhamento ordenado, a proteção dos recursos a serem usados pelas aplicações do usuário e o interfaceamento entre este e a máquina.” Stemmer. Sistemas Operacionais 6 LOCALIZAÇÃO Sistemas Operacionais 7 PRINCIPAIS ATRIBUTOS Coordenar Recursos (maximização do uso e proteção dos usuários) - Concorrência; - Proteção de memória; - Acesso a arquivos. Controle - Interações usuário - recurso; - Interações usuário - usuário. Padronização de serviços. Sistemas Operacionais 8 SISTEMA OPERACIONAL S.O. é a porção de software que roda em modo kernel ou modo supervisor protege o hardware da ação direta do usuário. • Os demais programas rodam em modo usuário e fazem chamadas ao kernel para terem acesso aos dispositivos. Sistemas Operacionais 9 FUNÇÕES DO S.O. • S.O. visto como máquina estendida: Fornecer uma abstração de alto nível dos recursos de hardware da máquina, livrando o programador dos detalhes de funcionamento dos mesmos. Sistema Operacional funciona como uma máquina virtual. Visão top-down. Sistemas Operacionais 10 EXEMPLO • Fornecer uma visão dos discos como uma coleção hierárquica de arquivos, identificados por nomes e manipuláveis por funções de abertura/fechamento e leitura/escrita, escondendo os detalhes de acionamento dos motores das unidades, posicionamento dos cabeçotes, quantidade de trilhas e tamanho dos setores dos discos. Sistemas Operacionais 11 FUNÇÕES DO S.O. • S.O. visto como um gerente de recursos: Fornecer um esquema de alocação dos recursos (processadores, memórias, I/O, etc) entre os processos concorrentes. Estabelecer critérios de uso dos recursos e ordem de acesso aos mesmos, impedindo violação de espaço de memória de processos concorrentes e tentativas de acesso simultâneo a um mesmo recurso gerência e proteção dos dispositivos. Visão bottom-up. Sistemas Operacionais 12 TIPOS DE SISTEMAS OPERACIONAIS • Os tipos e sua evolução estão intimamente relacionados com a evolução do HARDWARE e das aplicações por ele suportadas. • A evolução dos S.O. para PCs popularizou vários conceitos e técnicas, antes só conhecidos em ambientes de grande porte. Sistemas Operacionais 13 TIPOS DE SISTEMAS OPERACIONAIS Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Sistemas Operacionais Sistemas Multiprogramáveis / Multitarefa Sistemas com Múltiplos Processadores 14 SISTEMAS MONOPROGRAMÁVEIS / MONOTAREFA • Execução de um único programa (job); • Qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente; • Tipicamente relacionado ao surgimento dos mainframes; Sistemas Operacionais 15 CPU Programa / Tarefa Memórias Dispositivos de E/S Sistemas Operacionais 16 SISTEMAS MULTIPROGRAMÁVEIS / MULTITAREFA • Mais complexos e mais eficientes; • Vários programas dividem os mesmos recursos; • Aumento da produtividade dos seus usuários e a redução de custos; Sistemas Operacionais 17 Programa / Tarefa CPU Programa / Tarefa Memória Dispositivos de E/S Programa / Tarefa Sistemas Operacionais Programa / Tarefa 18 SISTEMAS COM MÚLTIPLOS PROCESSADORES • Caracterizam por possuir duas ou mais CPU’s interligadas, trabalhando em conjunto; • O fator chave neste tipo de S.O. é a forma de comunicação entre as CPU’s e o grau de compartilhamento da memória e dos dispositivos de I/O; Sistemas Operacionais 19 KERNEL DO SISTEMA OPERACIONAL • • • • • • • • Tratamento de interrupções; criação e eliminação de processos; sincronização e comunicação entre processos; escalonamento e controle dos processos; gerência de memória; gerência do sistema de arquivos; operações de entrada e saída segurança do sistema. Sistemas Operacionais 20 SYSTEM CALLS • Mecanismo de proteção ao núcleo do sistema e de acesso aos seus serviços. • O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através da system calls (chamadas ao sistema). Sistemas Operacionais 21 SYSTEM CALL Aplicação Sistemas Operacionais System Call Núcleo H a r d w a r e 22 GRUPOS DE FUNÇÕES DO S.O. • Gerência de Processos – criação e eliminação de processos; – alteração das características do processo; – sincronização e comunicação entre processos; • Gerência de Memória – Alocação e desalocação de memória; • Gerência de I/O – Operações de I/O; – Manipulação de arquivos e diretórios. Sistemas Operacionais 23 Exemplos de Sistemas Operacionais e Suas Principais Características: Windows O Windows é um sistema operacional gráfico, desenvolvido pela Microsoft ®, que utiliza imagens, ícones, menus e outros aparatos visuais para ajudá-lo a controlar seu computador. Ele gerencia o trabalho do hardware e interage com o usuário. Características - Sistema operacional gráfico - Sistema multitarefa - Suporta Plug and Play Windows Server 2008 Windows Server 2003 Windows 7 Windows 8 Windows 95 Windows 2000 Windows ME Windows NT Windows Server 2011 Windows Vista Windows XP Windows 98 Linux O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinky na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software gratuito) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele está proibido de fazer a comercialização do sistema. Linux – Características • O Linux é um software livre e é um software OpenSource; • Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador (falaremos um pouco mais sobre isso); Linux – Distribuição O fato de o Linux ser um sistema operacional livre faz com que haja muitos programadores, espalhados por todo o mundo, dispostos a melhorá-lo. Existem distribuições para as mais diversas tarefas. As mini-distribuições têm como objetivo desde a recuperação de um sistema danificado até o monitoramento de uma rede de computadores. Linux – Interface Gráfica Um Ambiente Gráfico é um programa que permite que o Linux se apresente de forma amigável, como o Windows, através de janelas, ícones, menus, e botões. Um ambiente gráfico é considerado um aplicativo do Linux. Uma distribuição do Linux pode conter diversos Ambientes Gráficos diferentes, mas os dois mais famosos são, sem dúvida, o KDE (K Desktop Environment) e o Gnome. História • Primeiramente desenvolvido em 1969 por Ken Thompson e Dennis Ritchie do grupo de pesquisas do laboratório Bell; características incorporadas de outros sistemas operacionais. • A terceira versão foi escrita em C, que foi desenvolvida no Bell Labs especificamente para o UNIX. • BSD foi o sistema Unix mais influente que não fazia parte do Bell Labs e do grupo da AT&T UNIX e sim da Universidade da California em Berkeley (Berkeley Software Distributions). – 4BSD UNIX resultou do financiamento da DARPA para desenvolver um sistema UNIX padrão para uso governamental. – Desenvolvido para o VAX, o 4.3BSD é uma das versões principais e foi portada para várias outras plataformas (incluindo o PC). Versões UNIX • Darwin, o núcleo do Mac OS X é em grande parte baseado no FreeBSD. • OpenDarwin, um projeto completamente separado da Apple que foi inicialmente baseado no Darwin. • PC-BSD é uma distribuição do FreeBSD projetada para uso desktop com instalador e gerenciador de pacotes simplificado. • Ging é uma distribuição live CD baseada no Debian GNU/kFreeBSD, indiretamente baseada no FreeBSD. • FreeSBIE, similar à distribuição Knoppix do Linux. O projeto FreeSBIE também inclui um conjunto de ferramentas para ajudá-lo a fazer seus próprios live file systems e CDROMs FreeSBIE. • Frenzy é outro live CD baseado no FreeBSD, direcionado principalmente para usuários russos. • PicoBSD é uma versão em disquete do FreeBSD. • m0n0wall é um pacote de firewall baseado no FreeBSD. • pfSense é um firewall/roteador basedo no m0n0wall e no FreeBSD. • FreeNAS é um servidor NAS baseado no FreeBSD/m0n0wall. • Gentoo/FreeBSD Versões Mac OS • • • • • • • • • • Mac OS X v10.0 "Cheetah" Mac OS X v10.1 "Puma" Mac OS X v10.2 "Jaguar" Mac OS X v10.3 "Panther" Mac OS X v10.4 "Tiger" Mac OS X v10.5 "Leopard" Mac OS X v10.6 "Snow Leopard" Mac OS X v10.7 "Lion" OS X v10.8 "Mountain Lion" OS X v10.9 "Mavericks" Fim deste conteúdo.