PublicouIsabelle Nunes Alterado mais de 4 anos atrás
Definição de Sistema "É O CONJUNTO DE PARTES INTERAGENTES E INTERDEPENDENTES QUE JUNTAS FORMAM UM TODO UNITÁRIO COM UMA FINALIDADE COMUM"
Sistema Computacional Um sistema computacional consiste em um conjunto de dispositivos capazes de processar informações de acordo com um programa.
Componentes de um Sistema Computacional Hardware Recursos básicos de computação (CPU, memória, dispositivos de E/S) Sistema Operacional Controla e coordena o uso do hardware e vários programas aplicativos de usuários e de sistema
Componentes de um Sistema Computacional Programas aplicativos e de sistema Programas aplicativos: projetado para resolver um problema específico; Programas de sistema: objetiva disponibilizar um ambiente de programação geral na qual aplicações possam ser desenvolvidas. Usuários Pessoas, máquinas, outros computadores
O que se espera de um Sistema Computacional? • Execução de programas de usuários • Resolução de problemas
Um computador moderno consiste em: Um ou mais processadores; Memória principal; Discos; Impressoras; Diversos dispositivos de entrada e saída Para gerenciar todos esses componentes é necessária uma camada de software – o Sistema Operacional.
O que é um SISTEMA OPERACIONAL? Conceito: Um programa que controla a execução de programas aplicativos Uma Interface entre aplicativos e hardware É um conjunto de programas que se encontra entre o software aplicativo e o Hardware.
Principais funções: Gerenciar os recursos do computador, como a CPU, a memória, unidades de disco e impressoras; Estabelecer uma interface com o usuário; Executar e oferecer recursos para softwares aplicativos;
Camadas do Sistema Operacional Usuários Interpretador de Programas Utilitários Núcleo Hardware
Onde o Sistema Operacional de encaixa?
Sistemas Operacionais transformam hardware feio em abstrações bonitas
Kernel É a parte mais importante de um SO É chamado de monitor residente O processo de carregar o SO para a memória é chamado de Booting
Kernel Os componentes centrais do SO estão localizados no Kernel: Escalonador de Processos; Gerenciador de Memória; Gerenciados de I/O; Gerenciador de Arquivos; Gerenciador de Comunicação interprocessos (IPC);
Kernel Escalonador de Processos: Determina quando e por quanto tempo um processo é executado em um processador;
Kernel Gerenciador de Memória: Determina quando e como a memória é alocada aos processos e o que fazer quando a Memória principal estiver cheia.
Kernel Gerenciados de I/O: Atende as solicitações de I/O de e para dispositivos de hardware, respectivamente.
Kernel Gerenciador de Arquivos: Organiza coleções nomeadas de dados em dispositivos de armazenamento e fornece uma interface para acessar os dados nesses dispositivos. Gerenciador de Comunicação interprocessos (IPC);
Kernel Gerenciador de Comunicação interprocessos : Permite que os processos se comuniquem uns com os outros.
Tenha em mente que: Grande parte do trabalho de um SO não pode ser vista pelo usuário; Muitas das tarefas essenciais são realizadas em segundo plano; Todas as operações de entrada e saída, embora iniciadas por um programa aplicativo, são executadas de fato pelo S.O. Ainda que muitas funções sejam ocultas o usuário terá que se comunicar diretamente com o SO para usar um pacote de softwares aplicativos e executar tarefas; Esta comunicação ocorre por meio das interfaces com o usuário;
Formas de interação com o usuário: Interface de linha de comando; (Shell) Utiliza textos e exige comandos completos Ex: MS-DOS Interface Gráfica; (GUI) Utilizam imagens e menus para que os usuários introduzam comandos. Ex: SO Windows e Mac
Usuários e a Interação Usuário Final Programador Projetista de S.O Aplicativos Utilitários Sistemas Operacionais Hardware
Objetivos do Sistema Operacional Tornar mais conveniente a utilização de um computador: "Esconder" detalhes internos de funcionamento Abstrair as particularidades da máquina Tornar mais eficiente a utilização de um computador Gerenciamento "justo" dos recursos do sistema
Componentes de um Sistema Operacional O SO é um sistema muito complexo, que é dividido em partes menores para simplificação. Nem todos os SO têm a mesma estrutura, no entanto, compartilham a meta de dar suporte aos seguintes componentes.
Componentes de um Sistema Operacional • Gerência de processos • Gerência de memória • Gerência de arquivos • Gerência do sistema I/O
Características desejáveis em um Sistema Operacional Concorrência: Várias atividades ocorrendo ao mesmo tempo; Flexibilidade: permite a inclusão de novos periféricos; Compartilhamento: Uso coordenado e compartilhado de recursos;
Características desejáveis em um Sistema Operacional Eficiência: Baixo tempo de resposta, pouca ociosidade e alta taxa de processamento; Confiabilidade: Pouca incidência de falhas; Mantenabilidade: Facilidade de correção ou incorporação de novas características; Pequena dimensão: Simplicidade e baixa ocupação de memória.
Voltando na Figura
Classificação do Software: Software Básico; Software de Aplicação;
Software Básico Programas de Sistema Conjunto de programas imprescindíveis para o funcionamento do sistema. São softwares envolvidos em tarefas como por exemplo gravação de arquivos, ou seja apóiam a atividade dos softwares dos usuários. Programas executados fora do kernel (utilitários) Muitas vezes confundido com o próprio SO Ex: Sistema Operacional, compiladores, Interpretadores de Comando, etc.
Interpretador traduz os comandos ``passo-a-passo'' e na medida da necessidade; Ex: Dos Compilador, primeiro traduz todos os comandos encontrados e armazena a tradução na memória como um conjunto de instruções na linguagem de máquina, e só depois executa todas essas instruções. Ex: Free Pascal A principal diferença entre um interpretador e um compilador é que o segundo possibilita armazenar as instruções na linguagem de máquina diretamente, na forma de um arquivo de programa executável. Software Básico Programas de Sistema
Software Aplicativo Programas de Aplicação São os Softwares que atendem as necessidades específicas do usuário. Também podemos dizer que é um conjunto de programas a serem utilizados pelo usuário. Ex: Word, Excel, Controle de estoque, Sistema Bancário.
No Hardware temos Linguagem de máquina: Conjunto de instruções do computador. Faz a codificação. Microarquitetura: Microfunções do Processador. Vem dentro do processador. Dispositivos Físicos: Memórias, processador, barramento, etc.
As Visões do Sistema Operacional Visão do Usuário ou Modo Usuário Visão do Projeto ou Modo Núcleo
De usuário: Imagem que o usuário tem do Sistema; Interface oferecida ao usuário para ter acesso a recursos do sistema Chamadas de sistema Programas de sistema
Chamadas de Sistema • Forma que programas solicitam serviços ao S. O. – Transferem controle para o sistema operacional • É o núcleo (kernel) do sistema operacional responsável pelas chamadas de sistema – Existem chamadas de sistema associadas a gerência do processador, de memória, arquivos e de E/S
H a r d w e System Call Núcleo Aplicação
Programas de Sistema Programas executados fora do kernel (utilitários) • Implementam tarefas básicas: – Muitas vezes confundido com o próprio SO (por exemplo compiladores, assemblers etc) – Interpretador de comandos (ativado sempre que o SO inicia uma seção de trabalho / interface gráfica de usuário)
De Projeto: Organização interna do sistema operacional Mecanismos empregados para gerenciar recursos do sistema
De Projeto: Organização interna do sistema operacional Mecanismos empregados para gerenciar recursos do sistema Conjunto das instruções que podem ser executadas O SO executa em modo kernel, protegendo o hardware do usuário, enquanto os demais software executam em modo usuário.
Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das aplicações por ele suportadas. A evolução dos sistemas operacionais para computadores pessoais e estações de trabalho popularizou diversos conceitos e técnicas, antes só conhecida em ambientes de grande porte.
Monoprogramáveis Monotarefas Multiprogramáveis Multitarefas Multiplos Processadores
Classificação quanto ao número de usuários: Monousuário: Projetado para suportar um único usuário. Ex: MS/DOS, Windows 3X, Windows9X Multiusuário: Projetado para suportar várias sessões de usuários Ex: XP, Unix
Classificação quanto ao número de tarefas: Monotarefa: Capaz de executar apenas uma tarefa/aplicativo de cada vez. Ex: MS/DOS Multitarefa: Capaz de executar várias atividades simultaneamente, como processar um texto, enviar , ouvir música EX: Windows, Unix, OS/2
Classificação quanto ao tipo de serviço oferecido: Batch: Sistemas de Processamento em Lotes Time-Sharing: Sistemas de Tempo Compartilhado Real Time: Sistemas de tempo real
Sistemas Monousuário/Monotarefa Os primeiros sistemas operacionais eram tipicamente voltados para a execução de um único programa. Qualquer outra aplicação, para ser executada, deveria aguardar o término do programa corrente. Este tipo de sistema se caracteriza por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Permite que todos os recursos dos sistemas fiquem exclusivamente dedicados a uma única tarefa.
Sistemas Monousuário/Monotarefa
Sistemas Monousuários/Multitarefa É o mais utilizado em computadores de mesa e laptops. Um único usuário utiliza vários programas ao mesmo tempo. Processar texto, fazer download, e imprimir .
Sistemas Monousuários/Multitarefa
Sistemas Multiusuário/Multitarefas Os recursos computacionais são compartilhados entre diversos usuários e aplicações , neste sistema enquanto um programa espera uma operação de leitura ou gravação em disco , outros programas podem estar sendo processados neste mesmo intervalo de tempo. Neste caso podemos observar o compartilhamento da memória e do processador . O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus recursos , como memória, processador e periféricos, de forma ordenada e protegida, entre os diversos programas.
Alguns Sistemas Operacionais
Sistemas Operacionais para Computadores Pessoais Softwares são agrupados de acordo com a Plataforma na qual o software pode ser executado. Plataforma refere-se a combinação de hardware de computador e o SO. Ex: Wintel: SO Windows e Processador Intel Os fabricantes de software tem que optar pela plataforma para o qual desenvolverão um pacote de software aplicativo.
Sistemas Operacionais para Redes Projetados para possibilitar que os computadores de uma rede compartilhem recursos como HD e impressoras; Reside em um servidor de rede e manipula funções de rede; Ex: Permissão de usuários Tem como principal função executar programas e utilizar os recursos como se estivessem sendo executados no computador do cliente; Parte do SO é executado no computador servidor e outros componentes no computador cliente;
Sistemas Operacionais para Redes Alguns SO para Redes: Windows 2003 Server Datacenter Edition Windows Server 2008 R2 Datacenter Edition Linux Ubuntu Server 10.04 Linux Debian 5.0 Netware
Sistemas Operacionais para Computadores de Grande Porte O tempo de existência dos Computadores de Grande porte, mainframes, é quase duas vezes maior do que o dos PC; Vários usuários utilizam simultaneamente do computador; Utilizados para gerir grande volume de informações; O SO para computadores de grande porte encarrega-se de gerenciar os recursos do Computador para que o usuário não se preocupe com a forma que isto é feito.