Informática. Sistemas Operacionais. Professor Márcio Hunecke.

Documentos relacionados
Sistemas Operacionais - Aula 02

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Arquitetura de Sistemas Operativos

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Estruturas de Sistemas Operacionais

Introdução aos Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Sistemas Operacionais (SO)

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO O SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ

PROVA 03/07 Segunda-feira (semana que vem)

Sistema Operativo: o que é?

UFCD SISTEMA OPERATIVO INSTALAÇÃO E CONFIGURAÇÃO

Revisão FUI. Tiago Alves de Oliveira

Informática básica SOFTWARE.

Introdução à Sistemas Operacionais

INFORMÁTICA: Informação automática

Curso: Redes de Computadores

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Introdução à Ciência da Computação

Sistema Operacional. Disciplina: Softwares, Aplicativos e Sistema Operacional. Professor: Thiago Silva Prates

Informática básica. Professor: Francisco Ary

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Sistemas Operacionais. Prof. Andrique Amorim

Sistema Operacional. Escola de Ciências e Tecnologia ECT1103 INFORMÁTICA FUNDAMENTAL UFRN

Sistemas operacionais INTRODUÇÃO

I TR T ODUÇÃO O À I N I FO F RMÁ M TI T C I A OBJETIVO

Sistemas Operacionais Visão Geral

COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

APOSTILA 2 - TUTORIA SISTEMAS OPERACIONAIS

Engenharia Civil. Conceitos Básicos. Introdução à Computação

Disciplina: Sistemas Operacionais

Introdução aos Sistemas Operacionais. Ricardo Ramos de Oliveira

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

IFSC - SJ CURSO DE TELECOMUNICAÇÕES DISCIPLINA: ICO

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

Organização de Computadores Sistema de entrada e saída (I/O) e computação paralela. Professor: Francisco Ary

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistemas Operacionais

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Apresentação da Disciplina

Introdução à Informática

Informática I. Aula /09/2006 1

Montagem e Manutenção

Sistema Operacional. O S.O. é o programa mais importante do computador. - Realizar a interação entre o usuário, o hardware e o firmware -(BIOS)

Estrutura geral de um computador

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Sistemas Operacionais

Sistemas Operacionais. Tipos de SO

IFSC - SJ CURSO TÉCNICO DE TELECOMUNICAÇÕES DISCIPLINA: MAN / SOP

Sistemas Operacionais Aula 3

Sistemas Operacionais

Informática I. Aula 2. Ementa

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Informática básica. Professor: Francisco Ary

SISTEMAS OPERACIONAIS

Sistemas Operacionais

INTRODUÇÃO. Sistemas Operacionais. Vinícius Pádua

Windows 10 Prof. Rodrigo Schaeffer

APOSTILA 1 - TUTORIA SISTEMAS OPERACIONAIS

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Introdução à Informática

Blog: om.br/ Facebook:

HISTÓRIA DOS SISTEMAS OPERACIONAIS. Prof. Alan F.M.

Atualizada em 29/01/

Arquitetura de Computadores

Sistema Operacional. Etapa

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Sistemas Operacionais

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

SISTEMAS OPERACIONAIS

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Algoritmos e Lógica de Programação Sistemas Operacionais

Introdução à Informática

Tipos de Sistemas Operacionais

Informática. Organização de Arquivos, Pastas e Programas. Professor Márcio Hunecke.

Introdução à Informática

Informática I. Aula Aula 18-19/06/06 1

Virtualizando Sistema Operacional

WINDOWS 7 SISTEMA DE ARQUIVOS. Não tem criptografia, ou seja, não oferece segurança;

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Prof. Gregorio Perez 2007

CP Introdução à Informática Prof. Msc. Carlos de Salles

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Sistemas Operacionais. Visão Geral

WINDOWS

Sistemas Operacionais

Sistemas Operacionais

2. Conceitos Básicos. Introdução à Ciência da Computação.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROFESSOR CARLOS MUNIZ

Conceitos básicos e serviços dos Sistemas Operacionais

Transcrição:

Informática Sistemas Operacionais Professor Márcio Hunecke www.acasadoconcurseiro.com.br

Informática SISTEMAS OPERACIONAIS Sistema operacional é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado "bootstrapping", conceito em inglês usado para designar processos autossustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí o sistema operacional "toma" o controle da máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional. Um sistema operacional é projetado para ocultar as particularidades de hardware (ditas "de baixo nível") e, com sua atuação, criar uma máquina abstrata que fornece às aplicações e serviços compreensíveis ao usuário (ditas "de alto nível") Existem vários sistemas operacional, entre eles, os mais utilizados no dia a dia em computadores domésticos, são o Windows, Linux e MacOS. Um computador com o sistema operacional instalado poderá não dar acesso a todo o seu conteúdo dependendo do usuário. Existem dois tipos de contas que podem ser criadas num sistema operacional, as contas de Administrador e as contas limitadas. A conta Administrador é uma conta que oferece todo o acesso à máquina, desde a gestão de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu Hardware instalado. A conta Limitada é uma conta que não tem permissões para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou então que tenha ligação com algum Hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que este tipo de conta possa ter acesso a outros conteúdos do disco ou de software, o administrador poderá personalizar a conta oferecendo permissões a algumas funções do sistema como também poderá retirar acessos a certas áreas do sistema. Sistemas operacionais modernos Um sistema computacional moderno consiste em um ou mais processadores, memória principal, discos, impressoras, teclado, mouse, monitor, interfaces de rede e outros dispositivos de entrada e saída. Enfim, é um sistema complexo. Se cada programador de aplicações tivesse de entender como tudo isso funciona em detalhes, nenhum código chegaria a ser escrito. Além disso, gerenciar todos esses componentes e usá-los de maneira otimizada é um trabalho www.acasadoconcurseiro.com.br 3

extremamente difícil. Por isso, os computadores têm um dispositivo de software denominado sistema operacional, cujo trabalho é fornecer aos programas do usuário um modelo de computador melhor, mais simples e mais limpo e lidar com o gerenciamento de todos os recursos mencionados. Funções de um Sistema Operacional Gerenciamento de processos O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea. São utilizados algoritmos de escalonamento para determinar qual processo será executado em determinado momento e por quanto tempo. O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa. Gerenciamento de memória O sistema operacional tem acesso completo à memória do computador e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam. Dentro de gerenciamento de memória, pode não ser possível manter todos os processos em memória, muitas vezes por não existir memória suficiente para alocar aquele processo. Para solucionar esse problema existe um mecanismo chamado swapping (memória virtual), onde a gerência de memória reserva uma área do disco para o seu uso em determinadas situações, e um processo é completamente copiado da memória para o disco; este processo é retirado da fila do processador e mais tarde será novamente copiado para a memória; então, o processo ficará ativo na fila novamente. O resultado desse revezamento no disco é que o sistema operacional consegue executar mais processos do que caberia em um mesmo instante na memória. Swapping impõe aos programas um grande custo em termos de tempo de execução, pois é necessário copiar todo o processo para o disco e mais tarde copiar novamente todo o processo para a memória. Em sistemas onde o usuário interage com o programa durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não se é possível manter todos os processos na memória, visto que a queda no desempenho do sistema é imediatamente sentida pelo usuário. 4 www.acasadoconcurseiro.com.br

Informática Sistemas Operacionais Prof. Márcio Hunecke Gerenciamento de recursos Uma das tarefas com extrema importância atribuída ao sistema operacional é o gerenciamento de recursos, que tem a função de definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, resolvendo disputas e conflitos. Vários programas de entrada de dados competem pela vez na CPU (Unidade Central de Processamento) e demandam memória e espaço em disco. O sistema operacional tem a função de cuidar de cada aplicativo e para que os mesmos tenham recursos necessários para o melhor funcionamento e gerencia a capacidade limitada do sistema para que possa atender todas as necessidades de aplicativos e usuários. Entrada e saída de dados Sistemas operacionais controlam e gerenciam a entrada e saída (E/S) de dispositivos por três razões. Primeiro, porque a maioria do hardware do dispositivo utiliza uma interface de baixo nível, a interface do software é complexa. Em segundo lugar, porque um dispositivo é um recurso compartilhado, um sistema operacional fornece acesso de acordo com as políticas que tornam a partilha justa e segura. Em terceiro lugar, um sistema operacional define uma interface de alto nível que esconde detalhes e permite que um programador possa usar um conjunto coerente e uniforme das operações ao interagir com os dispositivos. Sistema de arquivos A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente. Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos. O Sistema de Arquivo é o modo como os dados serão organizados e listados no disco. É como se o sistema operacional tivesse uma "lista" com os dados que serão acessados no disco, para ficar mais fácil localizá-los depois; se os dados estiverem bem listados e bem organizados no disco rígido, a busca posterior desses dados será mais ágil e mais fácil, além de ficar bem mais rápido. Como os dados serão localizados pelo sistema operacional, ele quem definirá o melhor modo de organização e listagem. É como se fosse um "mapa" para encontrar dados dentro do disco rígido, daí o sistema operacional vai direto na parte onde o dado está alocado, ao invés de abrir todos os dados para verificar qual é o solicitado. Principais sistemas de arquivos utilizados no Windows são FAT, FAT32 e NTFS e no Linux EXT3, EXT4 e RaiserFS. Interface de uso Os sistemas operacionais fornecem abstração de hardware para que seus recursos possam ser usados de maneira correta e padronizada, mas para ser possível operar um computador, é necessário fornecer também uma interface para que o usuário possa desfrutar dos recursos do sistema. Atualmente as principais interfaces de uso são as seguintes: www.acasadoconcurseiro.com.br 5

Interface de terminal (Linux) A interface de terminal, também chamada de interface de linha de comando ou "CLI" (Command Line Interface) funciona exclusivamente com o teclado. Os comandos são digitados a partir de um prompt e são interpretados por um interpretador de comandos, conhecidos também por shells, bastante comuns em sistemas padrão POSIX. Um exemplo de interpretador de comandos seria o Bash. Usada geralmente por usuários avançados e em atividades específicas, como gerenciamento remoto, utiliza poucos recursos de hardware em comparação a interface gráfica. Interface textual Assim como a interface de terminal, a interface textual também é baseada em texto, porém também tem à disposição um ambiente de trabalho composto por menus, janelas e botões. Esse tipo de interface tinha um uso difundido em aplicações baseadas n o MS- -DOS, que, inclusive, nas versões mais recentes contava com um gerenciador de programas e arquivos baseados nesse tipo de interface (o DOS Shell). Atualmente essa interface é muito rara, praticamente restrita a sistemas implementados na década de 1980 e início da década de 1990. Esse ambiente ainda prescinde do uso mouse, embora seja possível usá-lo através do uso de bibliotecas no desenvolvimento dos softwares. Interface gráfica (Windows) Nesse tipo de interface, também chamada GUI (Graphic User Interface) além de menus, janelas e botões também existem figuras, tanto vetoriais quanto fotografias. O usuário interage com esse tipo de interface usando o mouse, podendo também usar o teclado e teclas de atalho, ou então usando toques e gestos em touchscreens. A interface gráfica permite atuar com algumas aplicações que seriam impossíveis através da linha de comando puramente, como edição de imagem e vídeo. Acrescentar facilidade de uso e agilidade é o objetivo da interface gráfica, tendo a desvantagem de consumir muito mais memória que interfaces de linha de comando. Ao contrário das interfaces textuais e de terminal, as interfaces gráficas dependem de um módulo gráfico para funcionar e se comunicar com o sistema, e no caso dos sistemas para desktops e laptops, inclui um gerenciador de janelas em muitos casos, para que seja possível usar mais de um aplicativo na mesma tela. Em sistemas padrão POSIX é comum existir mais de um ambiente gráfico para o mesmo sistema, podendo ser escolhido a critério do usuário. Interface de voz Interfaces de voz, ou VUI (Voice User Interface), são aquelas em que o usuário interage com o sistema por meio de comandos sonoros. Sendo de desenvolvimento relativamente recente, tem sua aplicação em dispositivos adaptados para cegos e recentemente têm aparecido também para uso geral em smartphones, tablets e desktops. 6 www.acasadoconcurseiro.com.br

Informática Sistemas Operacionais Prof. Márcio Hunecke Classificações em relação ao seu projeto (arquitetura) Núcleo monolítico ou monobloco: o núcleo consiste em um único processo executando numa memória protegida (espaço de núcleo) executando as principais funções. Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD. Micronúcleo ou modelo cliente-servidor: o núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Ex.: GNU Hurd, Mach. Sistema em camadas: funções do núcleo irão executar em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics. Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Ex.: VM/370, VMware, Xen. Quanto ao gerenciamento de processos Monotarefa: pode-se executar apenas um processo de cada vez Ex.: MS-DOS. Multitarefa: além do próprio SO, vários processos de usuário (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo é executado. Essa alternância de processos chama-se concorrência. Multitarefa cooperativa: Executa dois ou mais programas em simultâneo, mas o programa que está em primeiro plano tem controle sobre o processador. Neste caso se este programa falhar bloqueia o computador e tem que ser reiniciado. Exemplo de SO: Windows 3.x e versões anteriores ao Mac OS 8. Multitarefa preemptiva: É o processador que controla a execução dos programas, desta forma permite ao sistema operacional recuperar o controlo caso um programa bloqueie. O usuário perde os trabalhos do programa que falhou, mas os restantes programas continuam a trabalhar. Exemplo de SO: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc. Elemento de lista com marcas: Ex.: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe destacar que processos só podem estar executando simultaneamente caso o sistema seja multiprocessado, já que, em que cada instante de tempo, apenas um processo está em execução em um processador ou núcleo de processamento (core). Multiprocessamento: o SO distribui as tarefas entre dois ou mais processadores. Se os processadores estivem na mesma máquina física, o sistema é chamado de Sistema Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado. www.acasadoconcurseiro.com.br 7

Quanto à quantidade de usuários concorrentes Monousuário: apenas um usuário por vez (apesar de poder suportar recursos como troca de usuário). Ex.: Windows. Esse também pode ser acessado por terminais e conexão remota. Multiusuário: vários usuários usam o computador ao mesmo tempo, seja por diversos terminais, seja por conexão remota como o SSH. Ex.: Linux, Unix. 8 www.acasadoconcurseiro.com.br