Trabalho Que Fiz Ontem
Artigo: Trabalho Que Fiz Ontem. Pesquise 862.000+ trabalhos acadêmicosPor: relfi • 12/6/2014 • 4.477 Palavras (18 Páginas) • 373 Visualizações
Introdução a Sistemas Operacionais
Um sistema operacional, por mais complexo que possa parecer, é apenas um conjunto de rotinas executado pelo processador. Sua principal função é controlar o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como processadores, memórias e dispositivos de entrada e saída.
Sem ele, o usuário para interagir com o computador deveria conhecer profundamente diversos detalhes sobre o hardware, o que tornaria seu trabalho lento e com grandes possibilidades de erros. O sistema operacional tem como objetivo funcionar como uma interface entre o usuário e o computador, tornando sua utilização mais simples, rápida e segura.
Um sistema operacional não é executado de forma linear como na maioria das aplicações, com inicio, meio e fim. Suas rotinas são executadas concorrentemente em função de eventos assíncronos, ou seja, eventos que podem ocorrer a qualquer momento.
Funções Básicas
• Facilidade de acesso aos recursos do sistema
Um computador ou sistema operacional possui diversos dispositivos, como monitores de vídeo, impressoras, unidades de CD/DVD, discos e fitas magnéticas. Quando utilizamos um desses dispositivos, não nos preocupamos com a maneira como é realizada esta comunicação e os inúmeros detalhes envolvidos nas operações de leitura e gravação.
Para a maioria de nós, uma operação como a leitura de um arquivo em disco pode parecer simples. Na realidade, existe um conjunto de rotinas especificas, controladas pelo sistema operacional, responsável pelo acionamento do mecanismo de leitura e gravação da unidade de disco, posicionamento na trilha e setor corretos, transferência dos dados para a memória e, finalmente, informar ao programa a conclusão da operação.
Cabe, então, ao sistema operacional servir de interface entre os usuários e os recursos disponíveis no sistema computacional, tornando esta comunicação transparente, além de permitir um trabalho mais eficiente e com menores chances de erros.
Fig. 1.1 livro – pag. 4
É comum pensar que compiladores, bibliotecas, depuradores e outras ferramentas fazem parte do sistema operacional, mas, na realidade, estes recursos são apenas utilitários, destinados a facilitar a interação do usuário com o computador.
• Compartilhamento de recursos de forma organizada e protegida
Em sistemas onde diversos usuários compartilham recursos do sistema computacional, é necessário controlar o uso concorrente desses recursos. Se imaginarmos uma impressora sendo compartilhada, deverá existir algum tipo de controle para que a impressão de um usuário não interfira na dos demais. Novamente é o sistema operacional que tem a responsabilidade de permitir o acesso concorrente a esse e a outros recursos de forma organizada e protegida.
O compartilhamento de recursos permite, também, a diminuição de custos, na medida em que mais de um usuário pode utilizar as mesmas facilidades concorrentemente, como discos, impressoras, linhas de comunicação, etc.
Não é apenas em sistemas multiusuários que o sistema operacional é importante. Se pensarmos que um computador pessoal nos permite executar diversas tarefas ao mesmo tempo, como imprimir um documento, copiar um arquivo pela internet ou processar uma planilha, o sistema operacional deve ser capaz de controlar a execução concorrente de todas essas atividades.
Máquinas de Camadas
Um sistema computacional visto somente sob a ótica do hardware, tem pouca utilidade. É através do software que os serviços são oferecidos aos usuários, como armazenamento de dados em discos, impressão de relatórios, geração de gráficos, acesso à Internet, entre outras funções.
Nos primeiros computadores, a programação era realizada em linguagem de máquina, em painéis através de fios, exigindo, consequentemente, um grande conhecimento da arquitetura do hardware.
Isso trazia uma grande dificuldade aos programadores da época. O surgimento do sistema operacional minimizou este problema, tornando a interação entre usuário e computador mais simples, confiável e eficiente. A partir deste momento, não existia mais a necessidade de o programador se envolver com a complexidade do hardware para poder trabalhar, ou seja, a parte física do computador tornou-se transparente para o usuário.
Fig. 1.2 livro – pag. 6
O computador pode ser compreendido como uma máquina de camadas ou máquina de níveis, onde inicialmente existem dois níveis: hardware (nível 0) e sistema operacional (nível 1). Desta forma, a aplicação do usuário interage diretamente com o sistema operacional, ou seja, como se o hardware não existisse. Esta visão modular e abstrata é chamada de máquina virtual.
Na realidade um computador não possui apenas dois níveis, e sim tantos níveis quantos forem necessários para adequar o usuário às suas diversas aplicações. Quando o usuário está trabalhando em um desses níveis não necessita saber da existência das outras camadas, acima ou abaixo de sua máquina virtual.
Atualmente, a maioria dos computadores possui uma estrutura básica conforme a figura abaixo, podendo conter um número maior ou menor de camadas. A linguagem utilizada em cada um desses níveis é diferente, variando da mais elementar (baixo nível) à mais sofisticada (alto nível).
Figura 1.3 livro – pag. 6
Histórico
Antes de 1940
• Inúmeros esforços foram feitos para criar uma máquina que pudesse realizar cálculos de forma mais rápida e precisa.
• 1642 – Matemático francês Blaise Pascal inventou uma máquina de somar para auxiliar seu pai no processo de arrecadação de impostos.
• 1820 – Francês Charles Colmar inventaria uma máquina capaz de executar as quatro operações.
• 1822 – Matemático Charles Babbage criou uma máquina para cálculos de equações polinomiais.
• 1833 – Babbage evoluiu esta ideia para uma máquina capaz de executar qualquer tipo de operação conhecida como a Máquina Analítica (Analytical Engine). Invento que mais se aproximou do computador atual, possuindo conceitos de unidade central de processamento, memória, unidade de controle e dispositivos
...