André Aziz ([email protected]) Francielle Santos ([email protected]) Noções de Software; Sistemas Operacionais: ◦ ◦ ◦ ◦ Evolução; Conceitos Básicos; Tipos; Exemplos. Francielle Santos e André Aziz DEINFO/UFRPE 2 Conceitos Básicos Francielle Santos e André Aziz DEINFO/UFRPE 3 Shareware: ◦ Programas que podem ser utilizados durante um período de teste; ◦ Após esse período o uso é pago. Freeware: ◦ Programas que podem ser copiados sem qualquer custo ou perda de funcionalidade; ◦ Prezam pela identificação de autoria. Francielle Santos e André Aziz DEINFO/UFRPE 4 Software Firmware Software de Sistemas Francielle Santos e André Aziz DEINFO/UFRPE Aplicações 5 Firmware: ◦ Programas embarcados no hardware: Importantes para o funcionamento básico do computador; Maior velocidade na execução; Presentes em memórias de leitura do tipo: ROM, EPROM, EEROM, etc. Francielle Santos e André Aziz DEINFO/UFRPE 6 Software de Sistemas: ◦ Programas gerenciam e apóiam as atividades de processamento de um computador: Programas de Gerenciamento de Sistemas: Gerenciam o acesso e utilização de recursos de hardware, software, redes e dados. Programas de Desenvolvimento de Sistemas: Ferramentas CASE (Computer Aided Software Engineering) para suprote ao desenvolvimento de programas. Francielle Santos e André Aziz DEINFO/UFRPE 7 Programas de Gerenciamento de Sistemas : ◦ Sistemas Operacionais; ◦ Sistemas de Gerenciamento de Rede; ◦ SGBDs: Sistemas de Gerenciamento de Bancos de Dados. Francielle Santos e André Aziz DEINFO/UFRPE 8 Sistema Operacional (S.O.): ◦ Conjunto de programas que compõem o software básico do computador, permitindo: O reconhecimento do hardware e o seu funcionamento; A representação dos dados na memória. ◦ Finalidade principal: Executar os programas aplicativos e servir de interface entre o computador e seus usuários. ◦ Foco na interface com o hardware. Francielle Santos e André Aziz DEINFO/UFRPE 9 Aplicações: ◦ Programas que constituem formas de operação do computador para o desempenho de tarefas práticas, ligadas ao processamento de dados. ◦ Rodam com o auxílio do SO e com foco no usuário. ◦ Classificação: Automação industrial; Automação comercial; Apoio educacional; Especiais e científicos; Artístico; Entretenimento; CAD/CAM. Francielle Santos e André Aziz DEINFO/UFRPE 10 Evolução Francielle Santos e André Aziz DEINFO/UFRPE 11 Programação externa: ◦ Nessa época os computadores não tinham memória para armazenamento dos programas. ◦ Controle através de chaves, fios e luzes de aviso. Controle do computador: ◦ Através de programas isolados; Não havia a noção de tipos de software. Não haviam as linguagens de programação estruturadas. Francielle Santos e André Aziz DEINFO/UFRPE 12 Sistemas em lote (batch systems): ◦ ◦ ◦ ◦ Programas escritos em cartões perfurados; SOs enfileiravam tarefas (jobs); Recursos computacionais eram melhor utilizados; Programas armazenados na memória principal. Para cada computador, um novo programa e um novo SO. Aparecimento de rotinas de auxílio ao programador: ◦ Para lidar com a memória e execução dos programas. Francielle Santos e André Aziz DEINFO/UFRPE 13 Aparecimento dos computadores pessoais: ◦ Necessidades de SOs com interação com o usuário; ◦ Surgimento de linguagens de programação estruturada; ◦ Surgimento das aplicações de pequeno porte. Francielle Santos e André Aziz DEINFO/UFRPE 14 Início do império de Bill Gates: ◦ Ele e um colega de faculdade (Paul Allen) compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por $50.000: Renomearam para DOS (Disk Operating System); Venderam as licenças para a IBM. A IBM lançou o seu 1º computador pessoal com o Sistema Operacional DOS. IBM e Microsoft firmaram breve parceria para o desenvolvimento do SO multitarefa chamado OS/2. Francielle Santos e André Aziz DEINFO/UFRPE 15 O projeto GNU foi iniciado por Richard Stallman: ◦ Com o objetivo de prover um SO livre como alternativa ao UNIX; O estudante finlandês Linus Torvalds iniciou o desenvolvimento do núcleo de um sistema operacional: ◦ Precursor do Linux; ◦ Desenvolvimento colaborativo através da internet. Mais tarde os dois esforços foram unificados: ◦ Linux: Grátis e portado para várias arquiteturas de computadores. Francielle Santos e André Aziz DEINFO/UFRPE 16 1º Sistema Operacional Monoprogramável 1950 1960 Conceito de Memória Virtual Sistemas Multitarefa 1970 1990 1980 Sistemas Multiprogramáveis Multitarefa Francielle Santos e André Aziz DEINFO/UFRPE 17 Conceitos Básicos Francielle Santos e André Aziz DEINFO/UFRPE 18 Usabilidade: ◦ Facilidade de uso para o usuário final. Eficiência: ◦ No provimento de acesso aos recursos computacionais; ◦ No escalonamento do uso destes recursos pelas aplicações; ◦ Na otimização da utilização dos recursos pelos programas em execução. Francielle Santos e André Aziz DEINFO/UFRPE 19 Segurança: ◦ Garantia da privacidade e permissões no acesso aos recursos de hardware e dados armazenados. Evolução: ◦ Ser bem-estruturado, garantindo a possibilidade de correção de funcionalidades e desenvolvimento de novas funcionalidades. Francielle Santos e André Aziz DEINFO/UFRPE 20 Aplicativos Utilitários Sistema Operacional Hardware Francielle Santos e André Aziz DEINFO/UFRPE 21 Conjunto de rotinas - núcleo do sistema ou kernel : ◦ Oferecem serviços essenciais aos usuários, às suas aplicações, e também ao próprio sistema. O SO não é executado como uma aplicação tipicamente seqüencial, com início, meio e fim. ◦ Procedimentos do sistema são executados concorrentemente; ◦ Sem uma ordem específica ou predefinida. Francielle Santos e André Aziz DEINFO/UFRPE 22 As funcionalidades dos SOs são implementadas pelos seus diversos módulos: Gestão de Processos Gestão de Memória Gestão de Arquivos Gestão de Entrada e Saída (E/S, I/O) Redes Segurança Interface com o Usuário!!! Francielle Santos e André Aziz DEINFO/UFRPE 23 A interação do usuário com o hardware através do SO pressupõe: ◦ A criação de processos pelo SO: Alocar e desalocar em memória todos os recursos necessários à execução do processo. ◦ Escalonamento e controle destes processos: Organização da fila de acesso ao processador. Utiliza parâmetros do sistema e do perfil do usuário para estabelecer a ordem em que os processos permanecerão à espera pela liberação da CPU, para então entrarem em execução. Francielle Santos e André Aziz DEINFO/UFRPE 24 Função responsável por fornecer à função de criação/eliminação de processos os endereços em memória disponíveis para alocação; Garante que os programas não utilizarão memória já em utilização por outros programas. Francielle Santos e André Aziz DEINFO/UFRPE 25 Responsável por: ◦ Gerenciamento dos arquivos; ◦ Compartilhamento dos arquivos pelos diversos usuários; ◦ Implementação de mecanismos de controle da segurança; ◦ Implementação de mecanismos de direitos de acesso às áreas utilizadas pelos usuários nos diversos dispositivos. Francielle Santos e André Aziz DEINFO/UFRPE 26 Responsável por: ◦ Gerenciamento dos dispositivos de E/S; Auxilia na criação/eliminação de processos; Auxilia na gerência de sistemas de arquivos: ◦ Na parte de endereçamento e associação de arquivos em periféricos; Francielle Santos e André Aziz DEINFO/UFRPE 27 Função que executa todos os serviços de rede; Permite que computadores utilizando o mesmo SO em uma mesma rede compartilhem recursos e capacidade de processamento; Empacotamento das mensagens vindas dos terminais para o processador central e viceversa; Controla e confirma o envio e recebimento de todas as mensagens que trafegam pela rede. Francielle Santos e André Aziz DEINFO/UFRPE 28 Função que detecta e registra (num arquivo especial de LOG): ◦ Todas as ocorrências de erro; ◦ Todas as violações de direitos de acesso: Ao sistema, aos arquivos, à memória e a todos os recursos do sistema. O arquivo de LOG é usado pela gerência de sistemas: ◦ Para verificar e aperfeiçoar os mecanismos de segurança e proteção ao sistema. Francielle Santos e André Aziz DEINFO/UFRPE 29 Exemplos Francielle Santos e André Aziz DEINFO/UFRPE 30 Desenvolvido pelo finlandês Linus Torvalds; O seu código fonte está disponível sob licença GPL: ◦ Qualquer pessoa pode utilizar, estudar, modificar e distribuir de acordo com os termos da licença. Apresenta várias distribuições: ◦ Slackware, Debian, Suse, Conectiva e Ubuntu: http://www.ubuntu.org/ Francielle Santos e André Aziz DEINFO/UFRPE 31 SO proprietário baseando no kernel Unix; Desenvolvido pela Apple: ◦ Roda somente nos computadores da linha Macintosh; Versões: ◦ Jaguar, Panther, Leopard, Snow Leopard, etc… Francielle Santos e André Aziz DEINFO/UFRPE 32 Família de SOs criados pela Microsoft, empresa fundada por Bill Gates e Paul Allen. Primeira versão: MS-DOS. É o SO mais popular!!! Maior parte de aplicações comerciais disponíveis apenas para este SO. Versões: ◦ MS-DOS, 95, 98, 2000, XP, Vista, 7, 8… Francielle Santos e André Aziz DEINFO/UFRPE 33 Sistema Operacional UNIX desenvolvido pela Sun Microsystems; Atualmente pertence a empresa Oracle; Suporta arquiteturas baseadas nos processadores x86 e SPARC. SO otimizado para servidores: ◦ Recursos de análise de desempenho e integração de vários sistemas Versões: ◦ SunOS, Solaris 2: http://www.oracle.com/us/products/serversstorage/solaris/index.html Francielle Santos e André Aziz DEINFO/UFRPE 34 SO de código aberto projetado pelo Google para trabalhar exclusivamente com aplicações web: ◦ Baseado no Linux. GUI minimalista: ◦ Semelhante à de um navegador web. Público-alvo: ◦ Pessoas que utilizam bastante a internet! Francielle Santos e André Aziz DEINFO/UFRPE 35 Francielle Santos e André Aziz DEINFO/UFRPE 36 Noções de Software; Sistemas Operacionais: ◦ ◦ ◦ ◦ Evolução; Conceitos Básicos; Tipos; Exemplos. Francielle Santos e André Aziz DEINFO/UFRPE 37 Noções de Redes Francielle Santos e André Aziz DEINFO/UFRPE 38 André Aziz ([email protected]) Francielle Santos ([email protected])