• Nenhum resultado encontrado

Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operacionais"

Copied!
20
0
0

Texto

(1)

UNIVERSIDADE BANDEIRANTE DE SÃO PAULO

INSTITUTO POLITÉCNICO

CURSO DE SISTEMAS DE INFORMAÇÃO

Sistemas Operacionais

Notas de Aulas: Tópico 2 A História e evolução dos Sistemas Operacionais, o porquê. Professor: Arlindo Batista

São Paulo 2009

(2)

Sumário

O sistema Operacional ... 3

A história dos Sistemas Operacionais ... 4

Primeira Geração de computadores (1945-1955) ... 6

Segunda Geração (1955-1963)... 8

Terceira Geração (1965-1980) ...10

Quarta Geração (1980 até hoje)...14

Inicia-se uma Nova Geração...18

(3)

O sistema Operacional

• É um software de controle do computador, responsável por alocar recursos de hardware, escalonar tarefas e fornecer uma interface entre usuário e hardware.

• Um Sistema Operacional pode ser definido como: uma camada de software que de forma segura, permite a abstração e a multiplexação dos recursos físicos.

• Segundo Tanenbaum1 e Silberschatz2 existem dois modos distintos de conceituar um sistema operacional: (i) pela perspectiva do usuário, visão "top-down", é uma abstração do hardware, fazendo o papel de intermediário entre o software aplicativo ou programa e os componentes físicos do computador (hardware); (ii) numa visão "bottom-up", de baixo para cima, é um gerenciador de recursos, e, controla quais aplicações (processos) podem ser executadas, quando, e, que recursos (memória, disco, periféricos) podem ser utilizados.

Portanto, se não existissem os sistemas operacionais, todo programa desenvolvido deveria saber como comunicar-se com os dispositivos do

computador que precisasse utilizar.

1

Andrew Stuart Tanenbaum - nasceu em 1944, na cidade de Nova Iorque é o chefe do Departamento de sistemas de computação, na Universidade Vrije, Amsterdã nos Países Baixos. Ele é o autor do Minix, um sistema operacional baseado no Unix. Sua referência vem dos livros sobre Sistemas Operacionais.

2

(4)

Figura 1 - Existe a necessidade de um Sistema Operacional

SISTEMA OPERACIONAL É UM PROGRAMA QUE GERENCIA O COMPUTADOR.

O Sistema Operacional tem função de gerenciador de recursos: fornece um esquema de alocação ordenada e controlada de recursos computacionais aos programas.

A história dos Sistemas Operacionais

Os sistemas operacionais estiveram intimamente associados à arquitetura dos computadores nos quais eles rodam. Por esta razão vamos examinar as sucessivas gerações de computadores para ver como eram seus sistemas operacionais.

O primeiro computador digital verdadeiro foi projetado pelo matemático inglês Charles Babbage3. Ele gastou a maior parte de sua fortuna e de sua vida na tentativa de construir uma máquina analítica. Era um projeto puramente mecânico composto de engrenagens e discos perfurados. Babbage foi o primeiro a perceber que uma máquina

3

Charles Babbage (26 de Dezembro de 1791 – 18 de Outubro de 1871) foi um cientista, matemático e inventor inglês nascido em Teignmouth, Devon.

(5)

computadora deveria consistir em um dispositivo de entrada, uma memória, uma unidade central de processamento, e um dispositivo de saída. Ele usava uma “impressora” como dispositivo de saída e, como dispositivo de entrada, usava um leitor de cartões que era inspirado nos cartões perfurados de Jacquard4.

Embora tenha investido a fortuna e tempo, Babbage nunca conseguiu fazê-la funcionar adequadamente. Babbage sabia que precisaria de software para a sua máquina analítica. Assim ele contratou uma jovem mulher, Ada Lovelace5, filha de um famoso poeta britânico (Lord Byron), como programadora. Ela é considerada a primeira programadora do mundo. Não houve também outro programador antes dela. O nome da linguagem de programação Ada® é uma homenagem a ela.

Charles Babbage Réplica (parte) do Calculador Diferencial Ada Lovelace 4

Joseph Marie Jacquard (7 de julho de 1752, Lyon – 7 de agosto de 1834, Oullins) foi um inventor francês. Em 1801, na França, durante a Revolução Industrial, Joseph Marie Jacquard, mecânico francês, (1752-1834) inventou um tear mecânico controlado por grandes cartões perfurados.

5

Augusta Ada King (1815 – 1851) Casada aos vinte anos, assumiu o nome do marido e o título de condessa tornando-se a Condessa de Lovelace, foi a primeira programadora do mundo.

(6)

Primeira Geração de computadores (1945-1955)

Marca a época das válvulas e painéis de conectores. Note que temos uma ausência de progresso na área, entre Babbage e a II Guerra Mundial. Em meados da década de 40, Harvard Aiken, de Harvard, John von Neuman, do Instituto de Estudos Avançados de Princeton, J. Presper Eckert e William Mauchley, da Universidade da Pensilvânia, e Konrad Zuse, na Alemanha, dentre outros tiveram sucesso na construção de máquinas de cálculo utilizando válvulas. Essas máquinas eram enormes, ocupando salas inteiras com dezenas de milhares de válvulas, e eram muito mais lentas que as mais simples calculadoras de hoje. Naquele tempo um único grupo de pessoas projetava, construía, programava, operava e mantinha cada máquina. Toda a programação era feita em linguagem de máquina, frequentemente ligando com fios painéis de conectores para controlar as funções básicas da máquina. As linguagens de programação eram desconhecidas e ninguém nunca tinha ouvido falar de sistemas operacionais. O modo normal de operação era o programador reservar um período de tempo na folha de reserva na parede, depois descer até o lugar da máquina, inserir suas conexões no computador e gastar algumas horas esperando que nenhuma das aproximadamente 20.000 válvulas queimasse durante a execução. Praticamente todos os problemas eram simples cálculos numéricos, tais como gerar tabelas de senos e de co-senos.

O primeiro computador digital de propósito geral foi o ENIAC (Eletronic Numerical Integration and Computer). Sua estrutura possuía válvulas, capacitores, resistores, pesava 30 toneladas, e ele realizava 5 mil adições por segundo.

(7)

No início da década de 50 a rotina melhorou um pouco com a introdução dos cartões perfurados, tornando-se possível gravar programas em cartões e lê-los, em vez de usar cabos conectores.

Figura 2 – O ENIAC

Figura 3 – O EDVAC

(8)

Figura 5 – O Primeiro Bug

Segunda Geração (1955-1963)

Marca a fase dos transistores e sistemas em lote. Com a introdução dos transistores os computadores tornaram mais confiáveis, o bastante para serem fabricados e vendidos para clientes com expectativa de que continuariam a funcionar por tempo suficiente para realizar algum trabalho útil. Pela primeira vez estabeleceram-se uma distinção clara entre projetistas, construtores, operadores, programadores e o pessoal de manutenção. As máquinas eram guardadas em salas especiais com ar condicionado e equipes de operadores profissionais para mantê-las funcionando. Somente as grandes corporações ou importantes órgãos do governo ou universidades podiam ter recursos para arcar com seu preço, na casa dos milhões de dólares. Para executar um programa ou conjunto de programas (job), um programador primeiro escrevia o programa em papel,

(9)

usando o Fortran ou Assembly, para então transformá-lo em cartões perfurados. Os cartões eram então levados para a sala entrada onde era recebido por um dos operadores. Quando o computador terminava o job, um operador ia até a impressora, removia a saída e a levava para a sala de saída, onde ficava a disposição do programador. Em seguida o operador pegava um dos conjuntos de cartões que haviam sido trazidos para a sala de entrada e os inseria na máquina para leitura. Muito tempo de máquina se perdia enquanto os operadores se deslocavam nas salas para implementar as operações em computador.

A busca de economia de tempo levou a criação de sistemas de processamento em lotes ou “batch system”.

Colecionava-se uma bandeja completa de jobs na sala de entrada e depois os mesmos eram lidos sobre uma fita magnética, utilizando-se um computador pequeno e mais barato (para os computadores da época). Nesta fase SO típicos era o FMS (Fortram Monitor System) e o IBSYS da IBM.

(10)

Figura 7 - O sistema IBM 1401

Terceira Geração (1965-1980)

A maioria dos fabricantes de computadores tinha duas linhas de produto distintas e totalmente incompatíveis. De um lado tinham-se os computadores científicos de grande escala, baseados em palavras, que eram utilizados para cálculos numéricos em ciência e engenharia. Por outro lado havia os computadores comerciais, baseados em caracteres, amplamente usados para classificar e para imprimir fitas para bancos e para companhias de seguro. Desenvolver duas linhas distintas de produtos era uma proposta cara para os fabricantes. A IBM tentou resolver estes problemas em uma única tacada introduzindo o System/3606 (S/360). O IBM S/360 era uma série de máquinas compatíveis ao nível de software que variavam desde a capacidade de 1401 até um muito mais do que o 7094, desenvolvido durante a segunda geração. As máquinas diferiam somente no preço e no desempenho (memória máxima, velocidade de processamento, número de dispositivos de Entrada e Saída (E/S) permitidos, etc.).

6

(11)

Figura 8 - O S/360

Como todas as máquinas tinham a mesma arquitetura e conjunto de instruções, programas escritos para uma máquina podiam executar em todas as outras. Assim uma única família de máquinas podia satisfazer as necessidades de todos os clientes. O IBM S/360 era a primeira linha importante de computadores usando Circuitos Integrados (CIs) de pequena escala. Isto proporcionava vantagens importantes de preço versus desempenho sobre máquinas de segunda geração, que eram baseadas em transistores como componentes. O IBM S/360 foi um êxito imediato e a idéia de uma família de computadores compatíveis logo foi adotada por todos os outros fabricantes importantes.

A maior força da idéia de "uma família" era ao mesmo tempo sua maior fraqueza. A intenção era que todo software, incluindo o sistema operacional, tinha que trabalhar em todos os modelos. Ele tinha que ser bom em sistemas com poucos e com muitos periféricos. Ele tinha de funcionar bem em ambientes comerciais e em ambientes científicos. Tinha de ser eficiente para todo uso. Não havia como a IBM, ou qualquer outra pessoa, conseguir escrever um software para atender a todos estes requisitos contraditórios. O resultado era um sistema operacional extraordinariamente

(12)

complexo e grande. Consistia de milhões de linhas de linguagem assembler, escritas por milhares de programadores e com milhares de "bugs".

Apesar disto o sistema operacional 360 e os sistemas operacionais semelhantes de terceira geração produzidos por outros fabricantes de computador realmente satisfizeram a maioria dos seus clientes. Eles também popularizaram várias técnicas-chaves em sistema operacionais de segunda geração. A mais importante delas era a multiprogramação. Para evitar a ociosidade da CPU quando se fazia uma pausa para troca de fitas ou outra operação, dividia-se a memória em varias partições, com um job diferente em cada uma delas.

Assim quando se pausava a execução de um job outro entrava em operação, ocupando o tempo ocioso da CPU. Veja a figura ao lado, ilustrando a partição da memória:

Outro importante recurso da geração foi a capacidade de ler Jobs de cartões para disco assim que chegavam na sala do computador. Desta forma quando uma execução terminava já se podia iniciar outra. Esta técnica á chamada spooling7. A necessidade de tempo de resposta rápido abriu caminho para uma variante da técnica de multiprogramação chamada compartilhamento de tempo.

Segundo definição Deitel8, “multiprogramação é quando vários jobs estão na memória principal simultaneamente, enquanto o processador é chaveado de um job para outro job, fazendo-os avançarem enquanto os dispositivos periféricos são mantidos em uso quase constante”.

7

Spooling – Sigla de simultaneous peripheral operation on line, ou seja, operação periférica simultânea on line.

8

(13)

Num sistema de tempo compartilhado, se 20 usuários faziam logon e 17 deles estavam pensando ou tomando café, a CPU podia estar alocada para os outros 3 jobs.

Outro importante desenvolvimento durante a terceira geração foi o crescimento fenomenal dos minicomputadores dando origem a toda uma nova indústria. O preço destas máquinas girava em torno de 120 mil dólares e venderam como pãozinho quente da padaria. Um dos cientistas de computação da Bell Labs, Ken Thompson, descobriu um pequeno microcomputador que ninguém estava usando e começou a escrever uma versão simplificada monousuária que evoluiu para o sistema operacional UNIX®, que se tornou popular no mundo acadêmico, entre órgãos do governo e entre muitas empresas.

Figura 9 - Primeiro Chip de computador

No final dessa fase, com a evolução dos microprocessadores, surgiram os primeiros microcomputadores, muito mais baratos que qualquer um dos computadores até então comercializados. Entre eles, destaca-se os micros de 8 bits da Apple e o Sistema Operacional CP/M (Control Program Monitor).

(14)

Quarta Geração (1980 até hoje)

O desenvolvimento dos circuitos LSI9, chips contendo milhares de transistores por cm2 de silício foi o alvorecer da era do computador pessoal. Assim como os microcomputadores da terceira geração possibilitou que cada departamento em uma empresa ou uma universidade tivesse seu computador, o microprocessador possibilitou que as pessoas tivessem seu computador pessoal. Os primeiros foram chamados estações de trabalho. Na verdade estas estações nada mais são do que computadores pessoais de maior porte, normalmente conectados por uma rede. A ampla disponibilidade do poder da computação abriu caminho para o crescimento de uma importante indústria de software para computadores pessoais.

Figura 10 – Partição de Memória

Grande parte desse software tinha uma interface amigável, ou seja, era projetada para usuários que não só ignoravam tudo sobre computadores como também não tinham nenhuma intenção de aprender. Dois sistemas

9

(15)

operacionais inicialmente dominaram a cena do computador pessoal e da estação de trabalho: o MS-DOS da Microsoft e o UNIX.

O MS-DOS era amplamente usado na IBM PC e em outras máquinas que empregavam CPU 8088 e seus sucessores 80286, 80386 e 80486. Mais tarde o Pentium e o Pentium PRO. Depois veio o sucessor do MS-DOS, o Windows, originalmente rodando sobre o DOS. Neste sentido os Windows 3.1, 3.11 era mais como uma shell10 do que um sistema operacional. Mas em 1995 foi lançada uma versão independente, o Windows95® , de modo que o MS-DOS deixou de ser utilizado com suporte do Windows.

O UNIX é outro importante concorrente que dominante em estações de trabalho e em outros computadores topo de linha, como os servidores de rede.

Um desenvolvimento importante que começou durante os meados da década de 80 é o crescimento de redes de computadores pessoais, executando sistemas operacionais de rede e sistemas operacionais distribuídos. Em um sistema operacional de rede, os usuários estão cientes da existência de múltiplos computadores e podem se comunicar e podem se conectar com máquinas e copiar arquivos de uma máquina para outra. Cada máquina executa localmente seu sistema operacional e tem seu próprio usuário ou usuários.

Os sistemas operacionais de rede não são fundamentalmente diferentes dos sistemas operacionais monoprocessadores. E claro que eles necessitam de uma interface de rede e de algum software de baixo nível pra controlá-la, bem como programas para permitir conexões remotas e acesso

10

shell, de maneira genérica, é um programa que intermedia o contato entre o usuário e o computador.

(16)

a arquivos remotos. Entretanto tais condições não mudam essencialmente a estrutura de um sistema operacional.

Verdadeiros sistemas operacionais distribuídos requerem mais do que adição de pequenas porções de código a um sistema operacional monoprocessador, porque os sistemas operacionais distribuídos diferem significantemente. Por exemplo, eles com freqüência permitem que os aplicativos executem vários processadores simultaneamente. Por isso requerem um algoritmo de agendamento de processsador mais complexo a fim de aperfeiçoar a quantidade de paralelismo.

Figura 11 - Foto do IBM PC/XT e do seu Processador o 8088

(17)

Figura 13 - O Segundo Apple

Figura 14 - Hard drive 10 Megabytes - Memorex Modelo 101 - 1983

Data Acontecimento

1954 Surgimento do primeiro Assembler

1958 Surgimento da linguagem de programação Lisp (utilizada em estudos de Inteligência Artificial)

Surgimento da linguagem de programação Algol 58 Surgimento do Fortran II

1960 Surgimento da linguagem de programação Cobol, criada pela Codasyl (Conference on Data Systems and Languages)

1962 Surge o conceito de sistema operacional

1964 Surgimento da linguagem de programação PL/1 1969 Surgimento do sistema operacional Unix

1971 Surgimento da linguagem de programação Pascal 1972 Dennis Ritchie desenvolve o compilador C

(18)

1975 Surgimento da linguagem de programação Basic (residente em microcomputadores).

Bill Gates e Paul Allen escrevem uma versão do Basic, a qual é vendida para MITS (Micro Instrumentation and Telemetry

Systems), na base de royalty por cópia

1981 Surgimento do sistema operacional MS-DOS (para computadores pessoais padrão IBM-PC)

1983 Surgimento do Unix System V

1985 Surgimento da linguagem de programação C++ (orientada a objetos)

Microsoft lança o Windows (ambiente de sistema operacional)

Surgimento do Aldus Pagemaker para Macintosh 1987 A IBM lança o sistema operacional OS/2

1995 Surgimento do sistema operacional Windows 95 (Microsoft) 1998 Lançado o Windows 98

Inicia-se uma Nova Geração

Os grandes avanços em termos de hardware, software e telecomunicações no final de século passado, são conseqüências da evolução das aplicações, que necessitam cada vez mais de capacidade de processamento e armazenamento de dados. Sistemas especialistas, sistemas multimídia, banco de dados distribuídos, inteligência artificial e redes neurais são apenas alguns exemplos da necessidade cada vez maior de capacidade de processamento.

“... quanto mais um computador sabe sobre um usuário, melhor ele pode servir àquele usuário. Contudo, há diferentes estilos e filosofias que pretendem esclarecer qual o melhor método para ensinar nossos

(19)

computadores sobre nós, sobre nossos hábitos, interesses, padrões e preferências.” Orvant (1996).

A evolução da microeletrônica permitirá o desenvolvimento de processadores e memórias cada vez mais velozes e baratos, além de dispositivos menores, mais rápidos e com maior capacidade de armazenamento. Os componentes baseados em tecnologia VLSI evoluem rapidamente para o ULSI11.

Tópicos importantes:

• Modificações profundas nas disciplinas de programação nos usos de arquiteturas paralelas;

• Processamento distribuído explorado nos Sistemas Operacionais, espalhando funções por vários processadores (redes);

• Arquitetura cliente-servidor em redes locais passa a ser oferecida em redes distribuídas, permitindo o acesso a todo tipo de informação, independentemente de onde esteja armazenada.

• Consolidação dos SOs baseados em interfaces gráficas. Novas interfaces homem-máquina serão utilizadas, como linguagens naturais, sons e imagens.

• Conceitos e implementações só vistos em sistemas considerados de grande porte estão sendo introduzidos na maioria dos sistemas desktop (Windows, Unix, Linux, etc...).

• Desenvolvido para os clones AT 386, 486, o Linux (um sistema Unix-like) lidera uma revolução no modelo de desenvolvimento e comercialização de sistemas operacionais para computadores

11

(20)

pessoais. Estima-se hoje que existam mais 18 milhões de usuários Linux em todo o mundo.

Referências

Documentos relacionados

These gases are emitted into the atmosphere from natural aquatic sources, terrestrial ecosystems and anthropogenic sources (Tremblay, et al., 2011). Foram usadas as

Esta orientação para o som como fundamento e horizonte poderia dis- tanciar Taborn do património histórico do piano, seja o do jazz como o mais lato que definiu a metalinguagem do

No caso do esporte, consideramos que o corpo (entendido aqui como o.. próprio homem) é a matéria que torna possível a criação de gestos técnicos específicos de

Na Barragem de Cethana , na Australia, concluida em 1971, com altura maxima de 110 m as juntas verticais de ombreira, denominadas tipo A, tiveram dois vedajuntas conforme descrito

* O candidato receberá do Fiscal de Sala, 01 (hum) Cartão de Respostas correspondente às questões objetivas. Assinale apenas uma opção em cada questão. Não deixe questão em

Planilhas de Verificação Gráfico de Pareto Diagrama Causa e Efeito Estratificação Histograma Diagrama de Dispersão Cartas de Controle Identificação do Problema Análise

DEFEITO QUANTI- DADE % DO TOTAL % ACUMU- LADA Espessura Menor Adesão entre Faces Opacidade Espessura Maior Largura Incorreta Grumos Micro Furos Outros TOTAL 485 100

Neste trabalho estarei desenvolvendo um estudo sobre Equações Diferenciais Or- dinárias Lineares de 2 a Ordem, apresentando a teoria, métodos para resolução destas.. equações