Baixe o app para aproveitar ainda mais
Prévia do material em texto
41 1 Prof. André Roberto Guerra Sistemas operacionais Aula 1 41 2 Conversa Inicial 41 3 Computadores são dispositivos eletrônicos criados para auxiliar nas tarefas do cotidiano das pessoas. São máquinas incríveis, com grande poder de processamento e capacidade de armazenamento Os denominados sistemas de computação são compostos pelo hardware e software dependentes (só funcionam juntos) Estrutura e objetivos 41 4 Os sistemas computacionais eram grandes servidores ou desktops. Atualmente, com a IoT, estão presentes em quase tudo que utilizamos e fazemos. Ex.: smartphones, tablets, smartwatches, smartTVs... Mas poucos sabem que, para esses dispositivos funcionarem corretamente, são necessárias rotinas de gestão e controle, implementadas em software – os sistemas operacionais 41 5 O sistema operacional é o gestor das atividades do computador, que realiza a interação com o usuário É o gerente de recursos – o principal objetivo e função –, pois é o responsável por gerenciar o uso dos recursos computacionais 41 6 Conceitos e definições de sistema operacional Gerência de processador e dos processos Gerência de memória Gerência de dispositivos de entrada e saída Gerência de arquivos Gerência e proteção de usuários Aulas práticas de 1 a 6 e resolução de exercícios propostos Organização da disciplina 41 7 Conceitos e definições de sistema operacional Uma visão geral Histórico e evolução Objetivos e funções Arquitetura e classificação Tipos e exemplos Organização do 1º tema 41 8 Conceitos e definições de sistema operacional 41 9 Stallings define o sistema operacional como um programa que gerencia os recursos do computador, fornece serviços para os programadores e estabelece uma ordem de execução de outros programas O conhecimento sobre SO é essencial para o entendimento dos mecanismos da CPU para o controle do computador Uma visão geral 41 10 Um sistema de computação é constituído basicamente por dois elementos interdependentes, o hardware e o software Exemplos de softwares aplicativos Exemplos de hardwares aplicativos I000S_PIXELS/SHUTTERSTOCK – HANI SUWARYO/SHUTTERSTOCK – CRYSTAL EYE STUDIO/SHUTTERSTOCK MARISHA/SHUTTERSTOCK – DEN ROZHNOVSKY/SHUTTERSTOCK – WEERA.OTP/SHUTTERSTOCK DND_PROJECT/SHUETTERSTOCK – NERTHUZ/SHUETTERSTOCK Sistema Operacional Monitor Memória CPU Disco Editore de textos Editor de imagens Multimídia player 41 11 Devido à sua complexidade e ao seu tamanho, o aprendizado de sistemas operacionais é tido como algo reservado a especialistas ou hackers, contudo essa é a verdade essencial para todos(as) os (as) profissionais de área de computação, pois as ferramentas implementadas nos algoritmos dos sistemas operacionais afetam diretamente o comportamento e o desempenho das aplicações 41 12 Histórico e evolução 41 13 Descrever a história e a evolução dos sistemas operacionais em paralelo à história e evolução dos computadores é muito conveniente, pois, até a 3ª geração dos computadores (1965-1980), descrita pelo cientista Robert Noyce na integração de circuitos, o chip, os computadores dependiam exclusivamente do conhecimento e da habilidade de seus operadores – os usuários 41 14 Os computadores têm sua história descrita e apresentada em seis gerações As primeiras três gerações são as de computadores que não possuíam sistemas operacionais. Eram as seguintes 0 – Mecânicos (1642-1945) 1 – Válvulas (1945-1955) 2 – Transistores (1955-1965) 41 15 As três gerações seguintes são as de computadores que utilizam os sistemas operacionais. São elas 3 – Integração (1965-1980) 4 – Muita integração (1980-?) 5 – Computadores invisíveis (atuais) 41 16 Geração das máquinas sem sistema operacional Surgiram no século XVII Eram compostos exclusivamente por elementos mecânicos (engrenagens e manivelas) Tinham grande rigidez nas tarefas a executar Hoje seriam como uma máquina dedicada A geração dos mecânicos tem como marco histórico a máquina de Turing (Colossus 1946) Geração 0 – mecânicos (1642-1945) 41 17 Calculadora de Pascal – La pascaline (1642) Máquina diferencial de Babbage (1823) akg-images/Album/Fotoarena Photo12 Collection/Alamy/Fotoarena 41 18 Geração dos computadores eletrônicos – ainda sem sistema operacional Muito tempo para aquecer e alto consumo de energia elétrica Grandes e frágeis e de manutenção cara Programação feita com ligação de fios e cartões Velocidades na ordem de milissegundos (1/1.000) Têm como marco histórico a arquitetura de Von Neumann Geração 1 – válvulas (1945-1955) 41 19 John Mauchly e Presper Eckert construíram o ENIAC (1946), o primeiro computador eletrônico 18 mil válvulas e 1.500 relés, 30 toneladas em 20 registradores, 140 kW e 6 mil chaves EVERETT HISTORICAL/SHUTTERSTOCK 41 20 Geração da eletrônica moderna – os primeiros projetos de sistemas operacionais Cientistas da Bell e AT&T criaram o transistor Mesmas funções das válvulas, com custo menor, menos energia, mais rápidos e confiáveis São utilizados até hoje 1953: início dos estudos e desenvolvimento do primeiro sistema operacional, chamado monitor por sua simplicidade: IBM 701 – General Motors Geração 2 – transistores (1955-1965) 41 21 Geração dos chips – o início dos sistemas operacionais “Famílias de computadores” – mesmo tipo de máquina, com diferentes capacidades e preços Micro e multiprogramação (vários programas concorrem pela memória e CPU) 2 bits e instrução de 250 nanossegundos, com memória de 16 megabytes Robert Noyce e Gordon Moore (1968 – Intel Corporation) Geração 3 – integração (1965-1980) 41 22 1965 – IBM lançou OS/360 1965 – MIT, GE e Bell Labs lançaram Multics 1969 – Ken Thompson e Dennis Ritchie, da Bell Labs, desenvolveram a primeira versão do UNIX 41 23 Geração dos microchips – a popularização dos computadores e dos sistemas operacionais Microprocessador de 4 bits e 108 KHz com 2.300 transistores e 60 mil operações/s a US$ 200 1981 – O primeiro destaque: Microsoft MS-DOS 1984 – Apple lançou o Mac OS 1.0 1985 – Aplicativo MS-DOS, o Windows 1.0 Geração 4 – muita integração (1980-?) 41 24 Os computadores estão por toda parte; IoT embutida, executando inusitadas funções, escondidos nos componentes (invisíveis) 1991 – Linux 1993 – Windows NT, FreeBSD e NetBSD (UNIX de código aberto); Newton OS como sistema operacional móvel Geração 5 – invisíveis (atuais) 41 25 1995 – Windows 95 1996 – Windows NT 4.0; Mac OS 7.6 (first officially-named MacOS) 1998 – Windows 98; Novell NetWare 5 2000 – Windows Millennium Edition; Windows 2000 2001 – Windows XP; Mac OS X Cheetah (v10.0), derivada da família UNIX BSD 2006 – Windows Vista 2007 – iPhone OS 1 – lançamento do iOS 2008 – Android 1.0 – SO Linux mobile 41 26 2009 – Windows 7 2011 – Solaris 11 11/11 2012 – Windows 8 e Windows Phone 8 2013 – Windows CE 8.0 e BlackBerry 10 2015 – Windows 10 2017 – Windows 10 Mobile Fall Creators Update 2018 – Windows Server 2019; iOS 13.1 - iPadOS 13.1; Android 10.0 2019 – macOS Catalina (v10.15) 2020 – Linux 5.6; NetBSD 9.0 41 27 Objetivos e funções 41 28 Grande distância entre o hardware e os programas aplicativos em software Grande diversidade de hardware torna-se grande dificuldade de utilização É desejável que essas características e diferenças tecnológicas sejam abstraídas e se tornem invisíveis aos softwares aplicativos e aos utilizadores do sistema computacional É aqui que entra em cena o sistema operacional, uma camada de software que opera entre o hardware e os aplicativos 41 29 É um software de estrutura ampla e complexa, que incorpora aspectos de baixo nível (como drivers de dispositivos e gerência de memória física) e de alto nível (como softwares utilitários e a interface gráfica) Para Stallings (2017), o sistema operacionalé um programa que controla a execução de aplicativos e age como interface entre o usuário e o hardware do computador e possui como objetivos: conveniência e eficiência Para Maziero (2019), os dois objetivos básicos de um sistema operacional são abstração e gerência 41 30 Abstração de recursos: o usuário não está interessado na arquitetura do computador e nos detalhes do hardware. Ele o vê como uma aplicação, a última camada entre o sistema e o usuário Os apps são desenvolvidos em uma linguagem de programação. Se fossem escritos usando o conjunto de instruções do processador e também tivessem de controlar o hardware, essa seria uma tarefa complexa, quase impossível 41 31 Para facilitar essa tarefa (abstração), existe um conjunto de softwares de sistema SO é o software de sistema mais importante, que esconde os detalhes do hardware do programador, fornecendo uma interface conveniente para o uso do sistema. Age como mediador, tornando mais fáceis o uso e o acesso desses recursos e serviços. Fornece serviços para a realização das seguintes atividades, que descrevem algumas de suas funções 41 32 Criação de programas Execução de programas Acesso a dispositivos de E/S Acesso controlado aos arquivos Acesso ao sistema Detecção e reação aos erros Monitoração 41 33 É o sistema operacional que controla o processamento, o armazenamento e a transferência de dados, pois, gerenciando os recursos do computador, ele (SO) detém o controle das funções básicas desse computador As principais funções dos SO estão diretamente ligadas aos objetivos (abstração e gerência), e para cumpri-los devem atuar em várias frentes Gerente de recursos – um objetivo e uma função 41 34 Concorrência Gerência do processador Gerência de processos Gerência de memória Gerência de dispositivos Gerência de entrada/saída Gerência de arquivos Gerência de proteção de dados e usuários 41 35 Arquitetura e classificação 41 36 Diferenças entre as arquiteturas – algumas características básicas diferenciam os vários tipos de sistemas operacionais Os sistemas operacionais são classificados, quanto ao tempo de resposta e à entrada de dados, em: lote (batch), interativos, tempo real e híbridos 41 37 Quanto à execução de tarefas, são classificados como monotarefa, multitarefas e multiprocessamento Quanto à estrutura, são classificados como: monolíticos, em camadas, máquinas virtuais e cliente servidor São também classificados como servidores, computadores de grande porte, computadores pessoais e embarcados 41 38 Quanto ao tempo de resposta e entrada de dados Batch Tempo real Interativos Híbridos Quanto à execução de tarefas Monotarefa Multitarefas Multiprocessamento Quanto à estrutura Monolíticos Em camadas Cliente servidor 41 39 Tipos e exemplos 41 40 Batch: executa tarefas sequenciais. Ex.: IBM OS/360 De rede: compartilha recursos de outros computadores. Ex.: a grande maioria dos SO atuais Distribuído: acessa recursos de outros computadores de forma transparente. Ex.: Docker Multiusuário: cada recurso tem um “dono” e regras de acesso. Ex.: a maioria dos SO atuais Grupos especializados 41 41 Servidor: gestão eficiente de grandes volumes de recursos. Ex.: Windows Server 2019 Desktop: interface gráfica e suporte à interatividade. Ex.: MacOS X, Linux Móvel: gestão de energia, conectividade e sensores. Ex.: Android, iOS Embarcado: hardware com poucos recursos e energia. Ex.: LynxOS, TinyOS Tempo real: tempo de resposta é o fator (soft real-time ou hard real-time). Ex.: RT-Linux 41 42
Compartilhar