SISTEMAS OPERACIONAIS CONCEITO O sistema operacional é uma camada de software que opera entre o hardware e os programas aplicativos voltados ao usuário final. O sistema operacional é uma estrutura de software ampla, muitas vezes 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 programas utilitários e a própria interface gráfica) Principal programa do sistema, que controla todos os recursos do computador (dispositivos físicos e funções de software). CONCEITO Proporciona uma maneira estável e consistente para lidar com o hardware, sem ter de conhecer todos os detalhes do hardware. “É 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. Conjunto de programas que trabalham de modo cooperativo com o objetivo de prover uma máquina mais flexível e adequada ao programador do que aquela apresentada pelo hardware FUNÇÕES Coordenar e Gerenciar Recursos (maximização do uso, concorrência e proteção dos usuários) – Proteção de memória e acesso a arquivos. Fornecer uma abstração de alto nível dos recursos de hardware da máquina, livrando o programador e o usuário dos detalhes de funcionamento dos mesmos. Padronização de serviços. Manter a integridade dos recursos e dos arquivos. Fazer cálculos e progressões inviáveis ou até impossíveis sem o mesmo. FUNÇÕES - GERENCIAMENTO Gerência de Processador Gerência de Memória Gerência de Dispositivos Gerência de Arquivos Gerência de Proteção Gerência de Interface Gerência de Usuários Interpretador de Comandos GERÊNCIA DE PROCESSADOR Conhecida como gerência de processos ou de atividades, esta funcionalidade visa distribuir a capacidade de processamento de forma justa entre as aplicações, evitando que uma aplicação monopolize esse recurso e respeitando as prioridades dos usuários. O sistema operacional provê a ilusão de que existe um processador independente para cada tarefa, o que facilita o trabalho dos programadores de aplicações e permite a construção de sistemas mais interativos. GERÊNCIA DE MEMÓRIA Fornecer a cada aplicação uma área de memória própria, independente e isolada das demais aplicações e inclusive do núcleo do sistema. O isolamento das áreas de memória das aplicações melhora a estabilidade e segurança do sistema como um todo. Caso a memória RAM existente seja insuficiente para as aplicações, o sistema operacional pode aumentá-la de forma transparente às aplicações, usando o espaço disponível em um meio de armazenamento secundário (como um disco rígido). GERÊNCIA DE DISPOSITIVOS Também conhecida como gerência de entrada/saída, a sua função é implementar a interação com cada dispositivo por meio de drivers. Criar modelos abstratos que permitam agrupar vários dispositivos distintos sob a mesma interface de acesso. Criar uma solução única para a maioria dos dispositivos, para que os mesmos sejam reconhecidos pelo sistema (driver genérico e informações). GERÊNCIA DE ARQUIVOS Esta funcionalidade é construída sobre/após a gerência de dispositivos e visa criar arquivos e diretórios, definindo sua interface de acesso e as regras para seu uso. Os conceitos abstratos de arquivo e diretório são tão importantes e difundidos que muitos sistemas operacionais os usam para permitir o acesso a recursos que nada tem a ver com armazenamento. GERÊNCIA DE PROTEÇÃO Cria regras e conceitos para que seja protegido os dados dos usúarios. Reforça a proteção do Kernel (nucleo) e da memória em possíveis situações de “Trashing” ou “Crash” Define usuários Faz a autenticação e identifica os usuários. Define regras e permissões e as aplicas a cada seção ou aplicativo usado pelo usuário. Registra o uso de recursos e aplicativos para fins de auditoria e contabilidade GERÊNCIA DE INTERFACE Organiza de forma visual funcional e objetiva arquivos e demais para facilitar o uso do mesmo. Dispõe de um ambiente gráfico ou linha de comando personalizável de acordo com as necessidades do utilizador. Em ambiente gráfico auxilia em ações como criar, editar, mover, excluir pastas ou arquivos. (GUI) Em ambiente texto auxilia e dimensionamento, cor e estrutura da fonte. (CUI) GERÊNCIA DE USUÁRIO Intimamente ligado a Gerência de Proteção e Gerência de Interface. Organiza e define os ambientes para cada usuário. Recebe e armazena as informações de layout e definições de visualização de cada usuário. Cria e associa o usuário à um perfil de proteção pré-estabelecido. Gerência a interação multi-usuário e um sistema. INTERPRETADOR DE COMANDOS Faz a comunicação entre o hardware e o software, agindo como um interpretador de linguagem de baixo nível (linguagem de máquina) para linguagem utilizada por nós. Traduz a ação emitida pelo usuário para linguagem de máquina para que possa ser mandada para o processador, de onde partirá as novas ações a serem efetuadas para atender a solicitação do usuário, ao término da ação ela será novamente traduzida para a linguagem do usuário com a resposta a ação emitida anteriormente concluída. SISTEMAS OPERACIONAIS - TIPOS Monousuário e Monotarefa (Bach) Monousuário e Multitarefa Multiusuário Em tempo real (RTOS) Rede Distribuído Embutido Desktop Servidor MONOUSUÁRIO E MONOTAREFA (BACH) O sistema operacional foi criado para que um único usuário possa fazer uma coisa por vez. Os sistemas operacionais mais antigos trabalhavam “por lote”, ou seja, todos os programas a executar eram colocados em uma fila, com seus dados e demais informações para a execução. O processador recebia um programa após o outro, processando-os em seqüência, o que permitia um alto grau de utilização do sistema. MONOUSUÁRIO E MULTITAREFA Este tipo de sistema operacional é o mais utilizado em celulares modernos como Iphone entre outros, pois existe apenas um “utilizador” manuseando o equipamento e o sistema do mesmo pode fazer mais de uma tarefa ao mesmo tempo. São pouco utilizados e até não mencionados como existente. MULTIUSUÁRIO E MULTITAREFA Um sistema operacional multi-usuário deve suportar a identificação do “dono” de cada recurso dentro do sistema (arquivos, processos, áreas de memória, conexões de rede) e impor regras de controle de acesso para impedir o uso desses recursos por usuários não autorizados. Essa funcionalidade é fundamental para a segurança dos sistemas operacionais de rede e distribuidos. Grande parte dos sistemas atuais são multiusuários. SISTEMA EM TEMPO REAL (RTOS) Um sistema operacional de tempo real não precisa ser necessariamente ultra-rápido Sua característica essencial é ter um comportamento temporal previsível (ou seja, seu tempo de resposta deve ser conhecido no melhor e pior caso de operação). Normalmente utilizado para cálculos, processo ininterruptos, gravação, remoção e similares, ou seja, em servidores de atuação especifica. REDE Um sistema operacional de rede deve possuir suporte à operação em rede, ou seja, a capacidade de oferecer às aplicações locais recursos que estejam localizados em outros computadores da rede, como arquivos e impressoras. Ele também deve disponibilizar seus recursos locais aos demais computadores, de forma controlada. A maioria dos sistemas operacionais atuais oferece esse tipo de funcionalidade, porém com certas limitações. DISTRIBUÍDO Em um sistema operacional distribuído, os recursos de cada máquina estão disponíveis globalmente, de forma transparente aos usuários. Ao lançar uma aplicação, o usuário interage com sua janela, mas não sabe onde ela está executando ou armazenando seus arquivos: o sistema é quem decide, de forma transparente. Os sistemas operacionais distribuídos já existem há tempos,mas ainda não são uma realidade de mercado. EMBUTIDO Um sistema operacional é dito embutido quando é construído para operar sobre um hardware com poucos recursos de processamento, armazenamento e energia. Aplicações típicas desse tipo de sistema aparecem em telefones celulares, controladores industriais e automotivos, equipamentos eletrônicos de uso doméstico. Muitas vezes um sistema operacional embutido se apresenta na forma de uma biblioteca a ser ligada ao programa da aplicação. DESKTOP Um sistema operacional “de mesa” é voltado ao atendimento do usuário doméstico e corporativo para a realização de atividades corriqueiras, como edição de textos e gráficos, navegação na Internet e reprodução de mídias simples. Suas principais características são a interface gráfica, o suporte à interatividade e a operação em rede. Exemplos de sistemas desktop são o Windows XP, MacOS X e Linux. SERVIDOR Um sistema operacional servidor deve permitir a gestão eficiente de grandes quantidades de recursos (disco, memória, processadores), impondo prioridades e limites sobre o uso dos recursos pelos usuários e seus aplicativos. Normalmente um sistema operacional servidor também tem suporte a rede e multi-usuários. Caracteriza-se pela centralização dos serviços, robustez de hardware, conseqüentemente, alto desempenho e segurança dos dados. Operating Systems 1 Windows XP 49.95% 2 Windows Vista 17.60% 3 Windows 7 14.33% 4 Mac OS X 7.83% 5 Linux 2.78% 6 Windows 2003 0.89% 7 iPhone OSX 0.83% 8 Windows 2000 0.34% 9 WAP 0.11% 10 Android 0.08% DÚVIDAS??? EXERCÍCIOS Conceitue Sistema Operacional e cite 3 funções. Cite 3 tipos de Sistemas Operacionais e uma breve explicação. Qual o sistema operacional mais utilizado hoje?