Buscar

ATIVIDADE 3 - Sistemas Operacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 3 páginas

Prévia do material em texto

NOTA: 10
Desde a criação do primeiro computador em 1642, essas máquinas vêm evoluindo. Em 1943 foi criada a primeira máquina eletrônica, chamada de Colossus (TANENBAUM; BOS, 2016). Em 1948 começaram as máquinas de segunda geração. E assim continuaram evoluindo com a chegada dos circuitos integrados em 1958, e assim por diante até hoje em dia. A evolução e popularização dos microcomputadores está extremamente relacionada com a evolução dos softwares.
Desde 1969 com a criação da primeira versão do UNIX, os sistemas operacionais (SO) vêm crescendo. Os SOs mais modernos trazem novas funcionalidades, agilidade, mudanças na política de escalonamento etc. 
Porque os hardwares estão tão relacionados com a evolução dos softwares
O SO de um microcomputador gerencia os recursos da máquina, como o processador e a memória, (decidindo quais processos devem ser executados, gerenciando a memória etc.). Um SO que utiliza um bom algoritmo de escalonamento, vai trazer mais performance ao microcomputador do que um SO que utiliza um algoritmo de escalonamento ruim. Isso acontece porque é responsabilidade do SO decidir quais processos devem ser executados primeiro, utilizando estratégias de gerenciamento baseadas em prioridades. Um SO que utiliza uma política de escalonamento simples do tipo FCFS (first come, first served) na qual o primeiro processo a chegar será o primeiro a ser servido, sendo um algoritmo não preemptivo, irá diminuir a performance do microcomputador, já que um processo essencial ao funcionamento de um aplicativo irá esperar o mesmo que um processo não muito importante. E por ser uma política de escalonamento não preemptivo, o SO não interromperá um processo em execução mesmo quando ele estiver sendo executado por muito tempo (impedindo outros processos de serem executados no processador).
Outra função importante do SO é gerenciar a memória do microcomputador. Para que um processo possa ser executado, é necessário que todos arquivos necessários ao sua execução estejam na memória RAM, e para isso o SO gerencia quais arquivos estão armazenados na memória RAM, excluindo os que não serão mais necessário em breve e liberando espaço aos que serão precisos em breve. Acontece que assim como todos os recursos do microcomputador são finitos, a memória também é limitada, o que limita o tamanho do processo a ser carregado e executado. Por exemplo, se um microcomputador tem 1 (um) GB de memória RAM, só será possível executar processos que tenham menos de 1 GB, ou dois processos de 500 MB, e assim por diante. Mas se o usuário quiser executar três processos de 500 MB nesse microcomputador, será impossível caso o SO não tenha a função de virtualização (processo no qual os dados de um processo que estava em execução são movidos da memoria RAM para o disco, para liberar espaço na memoria RAM para um novo processo ser carregado e executado). O recurso de virtualização é um exemplo de evolução dos SO para suprir as necessidades dos usuários em executar mais processos do que o suportado pela memória RAM.
Continuando com o exemplo, se o usuário quiser executar um processo que tenha mais de 1 GB de tamanho, será impossível no computador do exemplo. Com isso vemos como a evolução dos hardwares (no caso as memorias) foi importante para suprir as necessidades dos usuários, possibilitando a execução de aplicativos mais complexos. Nos primórdios dos computadores, as memorias tinham apenas alguns Quilobytes (kB) de armazenamento, com isso era impossível executar aplicativos sofisticados. Com o tempo foram evoluindo, aumentando a capacidade de armazenamento e velocidade, possibilitando a execução de aplicativos de altíssima complexidade, como os jogos.
Os processadores também evoluíram (e continuam evoluindo), o que contribui para o desenvolvimento de softwares cada vez mais complexos. Por exemplo, até a chegada do Pentium 4 em 2001, primeiro processador multicore da Intel, só era possível executar uma linha de comando de um programa de cada vez, não sendo possível a programação concorrente. Com a chegada dos processadores multinúcleo, passou a ser possível a execução de threads em paralelo a linha de comando principal, possibilitando realizar alguma atividade que seja complementar ao processamento que está sendo executado na linha principal e trazendo agilidade aos microcomputadores. Isso sem falar da evolução do clock dos processadores.
Enfim, como exemplificado acima, podemos entender como a evolução dos softwares pode exigir evolução dos hardwares. Já que enquanto mais complexos forem os aplicativos, será necessário recursos físicos mais complexos também, e se não existirem componentes eletrônicos mais modernos não será possível executar softwares mais complexos. E o contrário também é valido.
Porque a evolução dos hardwares depende da evolução dos softwares
Hardwares mais sofisticados podem exigir softwares melhores. Para que os microcomputadores que têm seus componentes sofisticados (como processador e memoria) possam aproveitar ao máximo esses recursos, é necessário um SO sofisticado também. Nesse caso é necessário ter uma boa política de escalonamento e bom gerenciamento de memória, por exemplo. Um dispositivo eletrônico em que a memória RAM tenha pouco espaço de armazenamento, não será muito demorado buscar as informações de forma simples e sequencial. Já quando essa memória é maior (como nos microcomputadores atuais), fazer a busca de forma sequencial pode ser extremamente demorado, fazendo-se necessário o uso de recursos mais modernos, como gerenciamento de bits, gerenciamento de memória virtual e paginação. 
Bibliografia
TANENBAUM, A. S.; BOS, H. Sistemas Operacionais Modernos. 4. ed. São Paulo: Pearson Education do Brasil, 2016.
https://www.tecmundo.com.br/historia/2157-a-historia-dos-processadores.htm
Conteúdo da disciplina

Outros materiais