Sistemas Operacionais – Aula 02 - Tipos e Estruturas de SO

151.59k views3775 WordsCopy TextShare
UNIVESP
Engenharia de Computação - 12º Bimestre Disciplina: Sistemas Operacionais - EEO-001 Univesp - Univ...
Video Transcript:
[Música] Olá vamos voltar aqui a aula de sistemas operacionais hoje então vai ser a aula número dois onde a gente vai falar de tipos e estruturas de sistemas operacionais aula passada então a gente falou sobre o quê a gente falou sobre os conceitos e o histórico o histórico apesar de ser uma coisa chata pra gente estudar mas é importante por qu importante pra gente saber a origem né Por exemplo no meu caso eu sei que os meus pais são japoneses no sistema operacional vocês vão saber por os sistemas operacionais são todos baseados em janelas assim
como tem a parte textual que é na parte do Linux isso por qu Isso é uma questão histórica então veio do ms2 e as janelas surgiram com mcintosh né o sistema Apple e assim Sim ela foi evoluindo e surgiram Então os sistemos operacionais todos baseados em janelas para facilitar a interação que é uma das funções do sistema operacional Tá bom então na aula passada a gente definiu a gente comentou agora né E a gente vai falar então exclusivamente eh sobre os tipos de sistemas operacionais os sistemas operacionais Tem vários tipos né Assim como eu ten
Ah um automóvel de vários tipos um para passeio outro para carga um outro para vamos dizer assim e para uma carga menor o sistema operacional também ela tem vários tipos tá assim como o sistema operacional também ela tem os as estruturas né como é que ela pode ser e estruturada assim como voltando pro carro o carro é movido a álcool tem uns que são movido a diesel o sistema operacional também ela tem o quê Ela tem diversos estruturas de forma que essa estrutura então vai se dedicar e vai se especializar por uma PR aplicação em
que ela é voltada Lembrando que o sistema operacional hoje em dia não é só para computadores como a gente viu na aula passada o sistema operacional ela serve para eh ambientalizar e também dar o suporte para diversas computações que eu já T ocorrendo Hoje em dia a geladeira tem um um sistema operacional eh que é parte da internet das coisas o carro autônomo tem um sistema operacional e assim por diante então existem o quê existem diversas estruturas de sistemas operacionais que se especializam para uma para finalidade eh particular que seria não só o desktop mas
por essa Parafernália de dispositivos e sensores como a gente vai ver nas próximas aulas Tá bom então voltando aqui para tipo são do dois assuntos que a gente vai ver hoje é o tipo e a como é que o sistema operacional ela é est urado então primeiro para tipo tipo de sistema operacional o sistema operacional ela é o quê Primeiro ela é mono programado mono programado a gente já viu na aula passada né seria o quê seria apenas um único quê um único programa que vai tá incorporada dentro do sistema o sistema operacional é simples
tá uma vez que ele é mono programado só tem um programa mas a parte gerencial desse sistema tá a parte gerencial ela não é sofisticado uma vez que o sistema operacional ela só vai compartilhar juntamente com um único programa dentro desse sistema de computação tá eh um outro tipo de sistema operacional seria o quê seria o sistema operacional multiprogramado esse sistema operacional multiprogramado multitarefa ela mantém o quê mantém um conjunto de tarefas essas tarefas então elas vão necessitar o quê vão necessitar que elas sejam o que qu que elas sejam utilizadas pelo sistema operacional Então
você tem o sistema operacional aqui e a parte gerencial desse sistema que a parte gerencial do sistema operacional ela vai ter vai necessitar ser rica uma vez que existam o quê existem n programas né n programas que estão sendo manuseados nesse sistema de computação então dois tipos pessoal um mono programado monotarefa e o segundo multiprogramado multitarefa e nesse nesse segundo aí ele é mais sofisticado eh uma vez que vários programas são manuseados pelo sistema de computação por outro lado a máquina fica o quê ela fica menos ociosa hoje em dia esse sistema multiprogramado é bastante
utilizado por quê Porque os sistemas operacionais os sistemas de computação e por consequência sãoos operacionais eles são todos o quê eles são todos voltados para um ambiente que a gente chama de multicore vocês vejam só eh hoje até os smartphones né os telefones celulares eles são o quê eles são dotados desse ambiente de multicore sendo assim portanto ela precisa o quê Ela tem o suporte para que possa executar diversas tarefas ao mesmo tempo bom então vamos voltar aqui a gente eh falou do sistema mono programado Então a gente vai falar um pouco mais em detalhe
sobre sistema multi mono programado Primeiro ela caracteriza o processador né exclusivamente o processador e a memória fica exclusivamente dedicada a execução de um único programa tá os recursos obviamente elas são o qu elas são mal utilizadas por quê Porque apenas um único programa ela encontra-se o quê Ela encontra-se execução Então vamos vamos lá Se o se o disco se o programa ele só só encontra em execução sem utilizar o quê sem utilizar o disco o disco fica oso tá se é uma se é uma um programa ele faz mais acesso ao disco os a CPU
ela fica o que ela a CPU aqui ela vai se permanecer o qu ela vai permanecer osa e assim então Eh um sistema mono programado ela é um sistema operacional e um sistema de computação que vai não vai utilizar todos os recursos disponíveis tá por isso esses sistemas mono programados e monotarefas são sistemas que muitas vezes são utilizados em sensores esses sistemas embarcados que tem uma única funcionalidade e nesse cenário é mais interessante que tem o quê como eles T uma quantidade pequena de armazenamento e de CPU esses sistemas que vem nos relógios sensores armazenados
em carro sistema de tempo real nesse cenário obviamente o sistema tende a ser um sistema mais eh mono programado tá bom ah qualquer sistema qualquer programa que se encontra em execução que a gente chama de processo ela vai possuir o quê Ela vai possuir três estados um estado eh de execução um estado de eh espera e um estado de de de término entretanto no sistema mono programado a gente só tem três três estados eh dentro eh dentro do do ciclo de execução então tem uma execução que começa uma execução nova ela entra no estado de
execução esse estado de execução é o estado que está manuseando a CPU tá só que nem sempre ele vai manusear CPU esse esse próprio programa o único programa que se encontra aqui no computador ele pode fazer o quê um acesso ao disco e nesse acesso ao disco então ele não vai necessitar da CPO nesse cenário a CPU vai ficar ociosa O que é ruim para um sistema de computação então por isso hoje em dia os sistemas operacionais são mais voltados paraa pro ambiente multiprogramado Tá bom Agora vamos voltar a falar Eh sobre o sistema multiprogramado
a gente falou estão nós estamos falando de quê De tipo de sistemas operacionais então existem dois tipos de sistemas operacionais o sistema mono programado e o sistema multiprogramado no sistema mono programado a apenas uma única tarefa encontra-se a execução e no sistema mono programado como a gente citou a desvantagem seria o quê a desvantagem é que o sistema mono programado ele utiliza mal os recursos mas tem uma vantagem né qual seria a vantagem desse mono programado que eu acabei esquecendo de falar seria o aspecto de ser simples o sistema operacional mono programado Ele é simples
a execução dele eh a implementação de sistema operacional mono programada Ele é simples porém os recursos são ma utilizados Então hoje em dia o que rege são o quê são sistemas operacionais multiprogramáveis ou sistemas de que a chama de multitarefa nesse cenário existem o quê existem vários programas né o grifo aqui vários programas que se encontram aí então em execução tá essas tarefas são simultâneas ou quase simultâneas hoje em dia pode realmente ser simultânea porque existem diversos eh um sistema de computação tem vários cores né Tem vários núcleos de execução de maneira que cada um
desses programas aqui então possa ir para um núcleo um e assim por diante possa ir pro núcleo um esse outro possa então ir pro núcleo dois e assim por diante tá bom essas tarefas então elas obviamente elas vão permutar eh entre a espera e enquanto uma como a gente fala enquanto uma roda que seria essa roda seria eh CPU né enquanto uma tá em execução outra pode pode estar em espera porque ela tá fazendo uma leitura no disco ou pode estar fazendo uma impressão na de um relatório numa impressora então esses programas aqui elas vão
todas permutar E no fim ela vai fazer o quê que a gente chama de uma programação e uma execução concorrente de tarefas então no cenário geral esse sistema multitarefa ela tende o quê Ela tende a ser eh mais otimizado tá bom aí dentro dessa taxonomia de sistemas multiprogramáveis e multitarefas a gente possui o quê a gente possui três tipos né de de sistemas aqui né os sistemas em lote o sistema compartilhado e o sistema de tempo real tá que a gente viu a gente falou rapidamente na na aula passada Então são dentro desse gente falou
de dois tipos aqui né de sistemas operacionais o sistema operacional que é o o mono programado né e o sistema operacional multiprogramado dentro desse multiprogramado a gente a gente pode classificar ele em três aspectos aqui em três tipos de sistemas né sub subtipos né seria sistemas inbet sistemas aí de tempo compartilhado que a gente chama aqui também a gente falou não sei se vocês se lembram de time eh sharing né então esse sistema de time sharing aqui seria esse tempo compartilhado com como a gente normalmente fala na computação sistema de tempo real falei na aula
passada seria aquele sistema tá que seria o quê aquele sistema que seria que teria um tempo crítico para ser executado Tá bom então vamos voltar aqui vamos falar aqui estamos falando desse sistema Bet então primeiro sistema em Bet o sistema em Bet eu falei na aula passada né são sistemas onde a gente tem um lote de tarefas para executar e esse lote de tarefas Vocês estão vendo aqui ó vão em forma de um Job o que que é um Job é um trabalho então vamos dizer assim eu tenho um trabalho um trabalho que seria e
executar folha de pagamento de funcionários então para executar folha de pagamento eu preciso executar primeiro eh calcular o o a o as despesas desse funcion despesas que ele teve na lanchonete de uma empresa e que tá ali na conta eu tenho que calcular quanto de imposto de renda ele vai pagar e ten que calcular a partir do que é a partir do vencimento e do número de quinques então isso tudo isso faz parte o quê tudo isso faz parte de uma tarefa que se encontra o quê que se encontra dentro de um Job tem as
várias tarefas que são executadas tá dentro de um determinado Job então o que que seria o job O Job seria esse conjunto de tarefas que eu vou especificar Deixa eu ver se eu tenho aqui um exemplo né parece uma coisa do outro mundo mas o makefile né que vocês normalmente utilizam no no computador Linux ele é um exemplo de que ele é um exemplo de uma de um e uma execução eem lote então vocês estão vendo aqui ela tem uma uma tarefa ltech aqui tem uma tarefa dvi e tem uma tarefa ACR tá assim eu
posso colocar o quê posso colocar diversas tarefas diversos programas nesse sistema em lote Então esse sistema em lote aqui seria o quê seria a especificação de diversos programas que vão ser executados como vocês estão vendo aqui sequencialmente um atrás do outro tá isso seria então o job e o que a gente chama também tem um sistema em lote então eu eu vou submeter um conjunto de tarefas que será executado pela CPU tá eh essa importante citar que esses Jobs eles não tem né o sistema operacional de Bet né ela não tem uma interação Direta com
o usuário e o job que tá em execução tá então como é que seria essa interação essa interação seria basicamente submeter o job submeter seria colocar essa tarefa esse conjunto de tarefas em execução no momento eu coloco ele em execução ele vai fazer o processamento vai gerar o relatório e vai imprimir o relatório na impressora e só vou ver o resultado desse processamento a partir desse relatório que ele gerou Tá bom então falando sobre esse exemplo de sistema em betet agora vamos falar são três né tínhamos o sistema em betet a gente tá falando de
sistema multiusuário eh dentro do da taxonomia de sistemas de multi de sistemas e multitarefa a gente tem o sistema inbet o sistema de multiusuário e o sistema de tempo real Então vamos falar aqui do sistema interativo no sistema interativo O sistema permite o quê permite que elas possam então interagir tá o sistema aqui ó vocês estão vendo o computador aqui o único computador podendo ser o quê podendo fazer interação com vários o quê com vários terminais ou computadores diferentes tá se vocês forem hoje numa agência do Banco do Brasil vocês vão ver que e a
tela ela tem o qu ela tem como se fosse isso aqui ó ó tá essa tela indica o que ela essa tela indica que ela tá sendo executada tá fazendo a consulta no sistema de mainframe tá então esse sistema de mainframe ela é acessada através desses terminais e microcomputador e os funcionários os computadores fazem o quê fazem essa interação com o computador mainframe que seria esse computador que permite o compartilhamento então o que que seria esse time sharing né esse time sharing seria essencialmente compartilhamento de tempo e por esse computador tá que é um computador
de grande porte Então esse computador de grande PTE permite o quê permite que se faça esse compartilhamento Bom falamos sobre os tipos os tipos que seriam o quê os tipos que seriam os mono programados e os multiprogramados mono programado um com um programa de cada vez mal utilizado mas ele é simples multiprogramado ele é um sistema bom porque permite o compartilhamento com vários eh programas diferentes por outro lado ele é mais sofisticado é a mesma coisa do carro o carro quanto mais sofisticado ele vai ter recol tá Por quê Porque a funcionalidade dele é bem
maior do que um Brasília amarelo do da música do Mamonas Assassinos tá então assim também ocorre com sistemas operacionais quanto mais sofisticado mais ele vai ter o qu ele vai ter um tempo de processamento vai vai ser pesado pro próprio sistema Então esse balanceamento seria o o ponto ótimo do de um sistema de computação Tá bom agora vamos falar rapidamente sobre a estrutura a estrutura de um sistema operacional elas são basicamente voltada em quatro quatro tipos de estruturas tá e as estruturas que eu grifei aqui são as estruturas mais utilizadas e as estruturas mais comentadas
né seria a estrutura monolítica e do micro kerno Tá bom vamos vamos para cá pro monolítico que seria esse monolítico é bem simples Pessoal esse conceito an olítica é assim o sistema operacional é só um bloco inteiro não tem e módulos fora desse bloco Então ela tem uma linha Quito aqui ó bem aqui então aqui seria que a gente chama de modo núcleo né E aqui seria o modo do usuário então só tem esses dois módulos aqui tá então módulo núcleo que seria do sistema operacional e o módulo do sistema módulo eh nível do usuário
eh no no nível do núcleo que é o nível do sistema operacional ela vai possuir o quê Ela vai possuir um único módulo essencialmente é isso pessoal no no sistema monolítico é só um módulo é um único programa fácil de gerenciar porque tudo fica aqui dentro né então toda a programação fica aqui dentro do do próprio sistema operacional de forma que o tempo de resposta também vai ser menor porque a interação é tudo dentro do sistema operacional IMP implementado em apenas um único modo tá então essa seria a grande vantagem de sistema monolítico e por
isso que o sistema operacional tanto Linux como o sistema operacional o Unix né A grande maioria do Unix assim como o sistema operacional Windows macos todos eles e utilizam essa modal ess esse tipo de estrutura do S operacional tem vantagem e desvantagens tá como a gente citou tá então monolítico toda a interação é feita aqui né então os módulos interagem aqui e ele é ele é ele é compilado aqui ó dentro de um grande bloco que seria esse sistema operacional então essencialmente isso é o sistema eh monolítico tá um sistema grande e é fácil de
gerenciar uma vez que todos os dispositivos encontram-se aqui dentro não posso adicionar nada aqui dentro pode mas aí você teria que adicionar compilar e adicionar aqui por exemplo um drive de uma impressora nova então ela vai ser o quê Ela vai ser inserida dentro desse próprio sistema operacional dentro desse módulo grande do sistema operacional tá bom e a estrutura do micro kerno a estrutura do micro kerno eh busca tornar esse núcleo né esse grande núcleo aqui menor possível né e permiti o qu permiti assim permiti que a única função ter o micro né o micro
kerna seria ter um módulo pequeno de um sistema operacional onde as a principal parte seria o quê seria a parte de comunicação Então como se fosse assim ó notem aqui eu tenho aqui então o microkernel né esse aqui seria o módulo do sistema operacional módulo principal do sistema operacional e os módulos os restante dos módulos tá que são do próprio sistema operacional elas ficam onde elas ficam no nível do usuário tá então esse é o quê esse é o um outro conceito de sistema um outro uma outra estrutura né conceito de microc acompanha tudo isso
de forma o quê De forma a separar aqui né então separo a parte principal e as as partes de serviço de entrada e saída eu coloco isso no nível do usuário exemplos tem o mini que uma implementação do Linux também e o cbia né bom eh existe uma outra estrutura que é estrutura de camadas Lembrando que a estrutura um e dois são as estruturas mais utilizada micro monolítica existe ess estruta de camadas aqui que a a ideia seria o qu seria criar um sistema operacional modular com as características hierárquic o que que seria esse modular
seria dividir o sistema operacional em diversos módulos diferentes cada uma com uma determinada eh funcionalidade tá hierárquico onde o quê onde cada nível de detalhes né Eh fica o quê Depende das das funcionalidades do nível abaixo e para isso eu preciso o quê Eu preciso de uma interface bem definida de forma o quê de forma que cada nível então possa conversar com os níveis das camadas inferiores das camadas superiores tá aí a estrutura de camada seria o qual seria o exemplo o exemplo seria Open vms e o mtic tá sistemas operacionais aí de grande porte
Onde existe o quê existem essas diversas estruturas diferentes de eh de sistema operacional sendo que a a parte mais baixa a parte principal o coração do sistema operacional é justamente o qu Justamente a locação de processos Por que seria a locação de processo Porque aí reside o quê aí reside o próprio sistema operacional o sistema operacional ele é o qu ele é um conjunto de processos um conjunto de programas que vão ser eh inseridas né vão ser colocadas dentro de uma CPU para serem o quê para serem executadas tá eh existe também a estrutura de
máquina virtual que permite criar uma camada do Meio como a gente tô mostrando aqui né então existe uma camada aqui do meio e essa camada aqui do meio ela permite o quê ela ela permite que se faça comunicação com diversos o qu com diversos sistemas diferentes então o sistema operacional ela podde ter pode ter vários outros sistemas de maneira que essas camadas aqui virtuais então elas possam conversar né com outros sistemas operacionais que se encont aqui tá Então esse é um sistema opercional eh VM 370 e que tinha um sistema operacional cms tá bom essa
estrutura de máquina virtual que a gente tá falando é um pouco parecida com a estrutura da máquina virtual do Java vocês sabem que o Java possui então uma máquina virtual e essa máquina virtual Então ela faz uma uma eh tradução dos bite codes da aplicação para quem pro sistema operacional e que por sua vez ela passa pro hardware bom uma vez que ela tem tem esse nível a mais ela gera o quê Ela gera overhead que a gente chama ela tem uma queda de performance porque ela tem que passar de um nível para outro até
chegar na execução do próprio eh da de da aplicação pelo hardware tá bom gente concluindo Então tá a aula de hoje a gente falou sobre tipos e estruturas de sistemas operacionais os tipos de sistemas operacionais que a gente mais citou são o tipo mono programado e os tipo multitarefa né o mono programado e multitarefa são os dois tipos que a gente comentou e que cada um deles tem o quê tem as suas virtudes e os seus defeitos tá e dentro do eh dentro das estruturas a gente falou sobre a estrutura monolítica a estrutura eh micro
kerna a estrutura de camadas e a estrutura de máquinas virtuais tá bom na eh esse conteúdo se encontra no capítulo um daqui de sistemas operacionais modernos tá E na próxima aula a gente vai ver um assunto muito importante também que é seria a chamada de sistemas e a interrupção eh de sistemas que que é são tecnologias que existem Então dentro do sistema operacional Muito [Música] obrigado [Música] [Música] [Música] a [Música] l
Copyright © 2024. Made with ♥ in London by YTScribe.com