E aí galera tudo bem com vocês sejam bem-vindos a disciplina desses temas operacionais na aula de hoje vou estar falando de arquitetura de sistemas operacionais e antes de mais nada eu queria falar para vocês sobre o que é a máquina de nível as máquinas de níveis são o quê dentro de um computador existem diversos níveis de abstração Digamos que a máquina Real ela é composta pelo circuito integrado que a parte de hardware onde tem ali a lógica digital implementada em cima acima desse nível A gente tem a microprogramação que é uma programação que vem já
incorporada né embutida no circuito integrado nessa lógica que é implementada na máquina real acima da microprogramação a gente tem a programação assembler que é uma programação também destinada para execução de de os drivers algumas funcionalidades específicas daquela máquina também implementado nesse nível de programação podemos dizer que até aqui são programações de baixo nível aí vem o sistema operacional que Ele oferece uma camada né entre a programação micro programação e a lógica digital circuito integrado e oferece essa camada para oferecer ao usuário e aos aplicativos que roda em cima dele ao aplicativo que é instalado de
acordo com sistema operacional uma interface mais amigável Ok E aí o usuário quando ele utiliza um aplicativo quando ele gera uma versão ele abre um documento e um novo projeto dentro desse aplicativo ele tá fazendo o uso de uma aplicação não percebo que o usuário ele interage no nível de máquina virtual muito lá em cima né bastante abstração onde a cada nível desse aqui ele esconde detalhes de implementação Até chegar na parte mais baixa que é a máquina Ok estão apresentamos aqui esses níveis para vocês tomarem nota muitas vezes cai também nas provas e concurso
tá então é importante conhecer para essa sequência aqui arquitetura de sistemas operacionais as múltiplas partes que compõem o so podem ser organizadas de diversas formas separando suas funcionalidades e modularizando um projeto de s.o então na aula de hoje nós estaremos apresentando quatro arquiteturas mais populares sobre a organização de um sistema operacional beleza antes de mais nada o so ele é formado por várias rotinas né um conjunto de de ações de programas que rodam no núcleo do sistema tá então essas rotinas que rodam dentro do núcleo a gente vai conhecer as suas principais funcionalidades né é
o núcleo do sistema é o Kernel tá então muito conhecido esse termo aqui são funções do Kernel ou seja do núcleo do sistema o escalonamento e a comunicação entre o processo entre os processos tratamento de interrupções que são as chamadas de sistema quando interrompe o sistema operacional para ele fazer algum tipo de atendimento né ele tem que tratar essas interrupções E aí tem quatro tipos de gerências gerência do processador gerência de memória gerência do sistema de arquivos e gerência dos dispositivos de entrada e saída aqui do lado eu coloquei um mnemônico então para quem estuda
para concurso é comum esse termo né o mnemônico é uma abreviação que vai fazer a gente lembrar as funcionalidades aqui do Kernel Então esse ET é de escalonamento e tratamento então ele de escalonamento de processos e o t de tratamento de interrupções e o 4G as quatro gerências tá do processador da memória sistema de arquivos e dispositivo de entrada e saída então deixa essa dica para vocês utilizar esse mnemônio para você não esquecer nenhuma das funcionalidades do que é modo de acesso ao sistema para proteger o núcleo do sistema alguns mecanismos de segurança são implantados
como por exemplo um modo de acesso esses vão perceber que basicamente atualmente os sistemas operacionais eles adotam dois modos de acesso ao sistema operacional primeiro é o modo usuário né então o modo usuário a aplicação só tem acesso a instruções que não são tão privilegiadas Ele só tem acesso mais superficial ao sistema ele não acessa diretamente as funcionalidades do núcleo e a gente acabou de ver na idade anterior tá ele precisa passar pelo modo kerneo então no modo kerne a aplicação tem acesso a um conjunto de instruções do processador de gerência do processador certinho quero
que vocês tome nota desses dois modos porque no final dessa aula a gente vai fazer um fechamento em cima disso tá bom então modo usuário e modo que é ativação do sistema quando a gente liga o computador um notebook tablet ou smartphone ele vai buscar o sistema operacional que é o software básico daquele dispositivos concorda né na aula passada a gente falou que o Senhor ele é um software básico e aí o so seja ele Windows ou Linux ele fica guardado numa memória permanente que a gente chama de memória secundária que pode ser um disco
rígido que é chamado de HD ou SSD então ele fica guardado de forma permanente nessa memória secundária então é importante você ter conhecimento disso ao ligar o dispositivo né o so precisa ser carregado Para onde para a memória principal e é a memória RAM então a memória RAM é aquela memória que funciona do lado da CPU para auxiliar a CPU Nos programas que são abertos enquanto o computador é ligado anotado ok só que o so ele é carregado através de um processo que é gravada na memória ROM a memória RAM tá que representado aqui por
esse por essa imagem né é uma pequena Memória também permanente mas que ela só serve para dar aquele start Inicial quando você liga o computador ele verifica ele tem programas que executa que são executados para verificar integridade da máquina para saber se consegue startar o sistema operacional e o programa que dá esse start no sistema operacional é o bootloader tá então a memória RAM ela faz ali ela tem gravado nela um programa que faz da ativação do sistema que é o boot mas o programa né é o bootloader Então você ligou computador ele vem aqui
e executa o programa de bootloader Verifica a integridade do sistema se o sistema operacional tá instalada adequadamente Quais são as condições do hardware e ele busca do HD que é a memória secundária e carrega essa esse sistema operacional para memória RAM e é a memória principal certinho para poder executar os programas enquanto o computador tá tá ligado né então é uma memória volátil né memória RAM se por acaso faltar energia você não tiver uma bateria ou nobreak você vai perder tudo que tá em tempo de execução porque a memória RAM ela não guarda de forma
permanente tá então é uma memória muito mais rápida do que essa outra né do que a memória secundária porque ela tá ali para funcionar do lado do processador para auxiliar o processador na execução dos programas que estão sendo executados certinho Seguindo aqui qual é a linguagem do sistema operacional Então os primeiros sistemas operacionais eles eram escritos em a sempre Ok Isso era muito bom porque garantia performance do sistema operacional é e essa performance está muito atrelado ao fato do assembler ser uma linguagem voltada para a parte de hardware então ele tinha uma dependência muito grande
do so com hardware porque o assemble é uma linguagem dedicada a configuração do Hardware Então como antigamente os sistemas operacionais eles eram escrito em assemble ele tinha um desempenho muito bom aí a performance excepcional que nós vimos aqui porém o lado negativo é que ele tem uma dependência muito grande do Hardware quando você tentava instalar aquele s.o em uma outra arquitetura de computador aí já tinha grandes problemas visando Minimizar essa problemática ou SOS atuais eles são escritos numa linguagem de um pouco mais de alto nível que é a linguagem C e c++ e garante uma
portabilidade legal né E aí ele fica independente da arquitetura do computador em outras palavras independente da parte de errado e porém compromete um pouco mais a parte de desempenho então eles preferiram abrir mão do desempenho que era excepcional aqui com a linguagem sempre porém tinha uma dependência com raiva que não poderia migrar para outro tipo de computador né E eles preferiram abrir um pouco um pouco abrir um pouco dessa dessa parte do desempenho para fazer com que o so seja potável ele pode ser instalado em várias máquinas diferentes entretanto ainda assim tem aspectos que são
programados em assembler né para minimizar esse problema de desempenho que se perdeu com a linguagem ciência e mais os projetistas ainda usam para os componentes que são mais críticos do so tais como os drivers as rotinas de tratamento né de chamada de sistema e tudo mais então a gente pode entender que a grande parte dos temporais é desenvolvida em seis semanas mais mais porém alguns aspectos mais críticos são desenvolvidos na linguagem acém certinho Ok então vamos ao que interessa né arquitetura monolítica foi utilizado nos primeiros sistemas operacionais tais como cp/m ms2 da Microsoft nos primeiros
Microsoft e também nas primeiras versões do Linux Ok vamos ver qual é a principal característica desse tipo de arquitetura que nesta arquitetura os componentes do sistema eles são compilados em módulos separados então aquele mnemônico que nós vimos o ET 4G né o escalonador o tratamento de interrupções as quatro gerências elas são todas disponibilizadas em módulos como um único programa executado dentro do núcleo do sistema operacional Qual é a problemática disso é que se tiver algum problema nos processos ele afeta diretamente o núcleo de execução do sistema Então os módulos são carregados em memória Ok e
interagem entre si e nesse contexto basicamente o so ele atua completamente no modo kerneo lembrando né que o modo Kernel é aquele que executa diretamente os recursos privilegiados da máquina Então temos aqui as aplicações interagindo através de uma interface de chamada de sistema e olha só o núcleo do sistema operacional carrega dentro de si um programa executável onde os módulos estão conectados né que faz escalamento dos processos o tratamento de interrupções gerência de memórias 4G aqui né gerência de processador gerência de dispositivo de entrada e saída e a gerência do sistema de arquivos todos eles
estão executados como um único programa e aqui a gente tem a prática de se processos os processos solicitados ocorrerem em erro né e aqui a gente tem um problema dentro do núcleo do sistema tá então afeta diretamente a execução do sistema Nesse contexto aqui porque ele está executando totalmente no modo kerneo tá bom para tentar suprir essa demanda a arquitetura micronúcleo faz o contrário nessa arquitetura foi pensado na possibilidade de tirar todos aqueles módulos do núcleo deixando pequeno daí o nome micronúcleo ou Microcamp pois vasilhamos nessa arquitetura o núcleo será esvaziado daqueles módulos e vai
ser colocada onde no modo usuário neste cenário o núcleo possui somente o código de baixo nível necessário para interagir honrado a parte física do computador né E todos os aspectos os módulos de gerência vão para o alto nível como as política uso do processador gerência de memória gerente do sistema de arquivos e assim por diante são implementados fora do núcleo nesta arquitetura os processos eles executam suas funções em modo usuário esse aqui é uma parte importante tá que diferencia o micronúcleo da arquitetura monolítica na arquitetura monolítica ele executa no modo kerneo na arquitetura micronúcleo ele
executa no modo usuário ou seja aqui o usuário ele não tem acesso às instruções privilegiadas Se der algum erro no processo na execução ele tá no nível mais abstrato não vai atingir diretamente o núcleo do sistema tá não tem acesso aos componentes né os componentes de baixo nível do arquitetura do computador ok aqui a gente tem uma imagem que ilustra né então aqui perceba que o micronúcleo ele não tem mais a gerência o ET 4G né o nosso miônico do das funcionalidades do que é eles estão alocados no modo o usuário tá aqui o gerenciamento
de memória gerencia sistema de arquivo de disco né a gerências estão aqui dentro e também atuam nesse nível do modo usuário as aplicações que ele está utilizando tá bom Então nesse caso aqui a digamos assim uma aprimoramento quanto a segurança né e não afetar diretamente no qualquer erro de processo que ocorra ali dentro tá então é importante a gente tomar nota disso Arquitetura em camadas então aqui surgiu a possibilidade de definir na Arquitetura em camadas níveis para garantir uma certa segurança do sistema operacional e nesses níveis ele abrange tanto o modo Kernel Como o modo
usuário então Arquitetura em camadas surgiu devido à complexidade dos sistemas operacionais a medida que foram evoluindo nessa arquitetura o SL é formado por níveis ou camadas é importante tomar nota disso onde as camadas mais baixas elas oferecem serviços as camadas superiores as camadas inferiores são chamadas privilegiadas porque tem acesso aos recursos vitais da máquina e aí a gente pode dizer o seguinte e a camada mais baixa que são essas privilegiadas são as que interagem diretamente com hardware enquanto que as camadas intermediárias elas provém ali certo nível de abstração Escondendo a complexidade da máquina né e
a camada superior que a camada mais alta ela é a que possua interface do núcleo do sistema com as aplicações que são instaladas no so aí essas aplicações elas interagem através de chamada de sistema tá então a camada mais baixa interage diretamente com hardware as camadas intermediárias vão oferecendo certo nível tá de abstração escondendo né a complexidade da máquina porque não convém mostrar isso para o usuário e aquela camada mais alta superior é onde tem a interface com as aplicações e são rodadas na máquina tá através dos aplicativos que nem aqueles níveis né que nós
vimos logo quando começou a aula de hoje Qual é a vantagem né da arquitetura em camadas esse tipo de arquitetura a vantagem e o isolamento das camadas né que cada um oferece um tipo de serviço então uma tá sempre regulando a outra então oferecendo uma certa segurança e proteção às camadas mais internas onde ficam quer a desvantagem porém é que o desempenho do sistema fica afetado pela troca do modo de acesso eu tô ali no modo usuário preciso de um recurso do modo núcleo do modo administrador né que é o que a gente mais utiliza
né quando se trata de so eu preciso modificar esse acesso né então quando o aplicativo dos olhos solicita um serviço que é da camada quer é necessário passar por várias outras camadas um serviço de autenticação até mesmo primando pela segurança então perde um pouco da questão do desempenho do sistema Mais Em contrapartida garante a segurança né e autonomia das funcionalidades que estão sendo executadas ali pelos temporais e a última arquitetura é a de máquina virtual que é assim digamos uma possibilidade de execução nesse tipo de arquitetura existe essa camada intermediária né entre o hardware e
o sistema operacional e gerencia várias máquinas virtuais que você pode estar executando essas máquinas virtuais em cima de uma máquina real digamos assim um sistema operacional nativo que está instalado na sua marca e aí você deseja instalar uma máquina virtual para rodar outros sistemas operacionais então é aqui que se encaixa essa arquitetura ela queria diversas máquinas virtuais que são independentes Isso aí é um ponto importante né onde cada um oferece uma cópia virtual do Harder esse ponto é importante vou até trazer uma questãozinha de concurso tá que fala um pouquinho desse aspecto uma das alternativas
né já dando spoiler para vocês onde cada uma dessas máquinas virtuais elas fazem como uma cópia virtual do Hardware fazendo um emulador ele emula né de forma completa a parte de errado para fazer as interações necessárias nessa máquina virtual E aí olha só basicamente trata-se de um emulador como eu falei né implementa todas as instruções e são realizadas pela máquina Real em um ambiente abstrato então ele faz essa emulação de todas as instruções que acontecem numa máquina como se fosse real só que ele está trabalhando no ambiente mais abstrato possibilitando executar um aplicativo de uma
outra plataforma é o objetivo sempre foi esse eu tenho operacional eu quero rodar um outro tenha para assinar em cima do meu sem precisar desinstalar ou criar um dual boot né então a máquina virtual Ele oferece essa possibilidade e você executar um outro sistema para assinar em cima do seu e rodar os aplicativos né e fazer o uso desse tema utilizando esse emulador visualmente como é que a gente pode tentar aqui imaginar como é que seja isso né Tem a parte de hardware embaixo e eu tenho mesmo sistema operacional nativo digamos assim que está instalado
na máquina real mesmo ali subindo seja qualquer um deles né E aí eu tenho um monitor de máquina virtual esse monitor Já digo para vocês Vocês podem utilizar aí programas com o VirtualBox vem meu Air são programas monitores de máquina virtual que quando você executa e faz a configuração você pode rodar uma máquina virtual em cima da sua máquina é para o seu sistema operação nativo e nessa máquina virtual você roda um outro sistema operacional e tem os seus próprios aplicativos na que são que funcionam né de forma Nativa naquele sistema operacional e assim também
nesse a outra máquina virtual aqui a gente tá dando exemplo de duas máquinas rodando em cima desse tempo parece não aqui tá então a possibilidade de você executar outras máquinas simulando como se fosse uma máquina real sem precisar desinstalar o teu sistema Tá bom então essa aqui é uma visualização que a gente pode estar aí tomando nota para a gente tentar ver de que maneira né esse monitor de máquina ele atua acima do sistema operacional e projetando né fazendo uma Projeção de máquina virtual ou outros tipos de sistemas operacionais que a gente queira utilizar belezinha
Ok fechamos então o nosso conteúdo vou trazer uma questão Punk Rock de compôs que ela é um pouco mais elaborada para a gente pensar aqui para ver se vocês acertam fala o seguinte sobre as estruturas dos sistemas operacionais assinale a alternativa correta alternativa a estrutura do tipo sistema de camadas é formada como uma hierarquia de camadas em que cada camada é construída baseada na camada superior a ela alternativa b a estrutura do tipo máquina virtual apresenta cópias do hardware do computador exceto pelo esquema de interrupções que é modificado alternativa c a estrutura do tipo micronúcleo
é baseada no conceito de que o sistema operacional deve ser criado com o menor tamanho possível para ocupar pouco espaço de memória alternativa d a estrutura do tipo modelo cliente servidor possui duas classes de processos o cliente e o servidor ambas rodando no mesmo computador e alternativa e a estrutura do tipo sistema monolítico apresenta o sistema operacional inteiro sem executado como único programa no modo núcleo E aí pessoal já consegue responder aí de bate pronto ou tem que pensar mais um pouco se quiser pausar o vídeo pausa ele que eu vou trazer resposta agora para
vocês estrutura do tipo sistema monolítico apresenta o sistema operacional inteiro sendo executado como um único programa no modo núcleo Esta é a alternativa correta faz sentido né monolítico o s o inteiro ele é executado o s o que a gente entende é o ET 4G né os módulos de gerência de memória de todos os seus recursos básicos são executados como um único programa no modo núcleo certinho né as outras né tem algumas questões tem algumas particularidades que o tornaram alternativas erradas esse primeiro aqui ó para o sistema de camadas é formado por um uma hierarquia
de camadas aqui tá certo porém em que cada camada é construída baseada na camada superior ela e aí tá errado é construída de baixo para cima lembra que a gente comentou né então não superou mas sim as camadas mais baixas devem ser desenvolvidas né E aí chamadas fazem uso aquilo que tá errado é essa parte final tá essas são as camadas superiores que devem ser construídas com base nas camadas inferiores a máquina virtual apresenta cópias do hardware do computador até aqui ok né apresenta cópias né Desse errado exceto pelo esquema de interrupções que é modificado
Então aqui tem uma certa inconsistência nessa parte que é modificada e não é ele simula exatamente as interrupções como deve acontecer de fato na alternativa c micronúcleo é baseado no conceito de que o sistema operação deve ser criado por menor tamanho possível para ocupar pouco espaço de memória e não é essa finalidade não é o objetivo diminuir o tamanho do sistema operacional e sim simplesmente tirar esses módulos né de dentro do núcleo né para tentar conter alguns problemas de execução que pode acontecer se esses modos estiverem um único programa como é o caso da Alternativa
e aqui que nós vemos é o único programa no modo núcleo e esse modelo cliente servidor a gente não pontuou né porque eles ele é um é um modelo de acesso do cliente de um lado que acessa uma rede de computador para acessar os dados em um servidor só que aquele diz que ambos rodando no mesmo computador e não é né são máquinas diferentes cliente do lado servidor do outro tem uma rede ali né conectando ele solicitando fazendo request e eu respondo né requisitando e respondendo as requisições do usuário nesse modelo aí beleza vamos para
a última questão então para a gente fechar é arquitetura para sistemas operacionais Mais vantajosa atualmente na qual os servidores executa o processo em modo usuário e o sistema tem o maior desempenho e disponibilidade em caso de problemas com processo em execução é arquitetura centralizada Nativa B monolítica alternativa c em rede alternativa d micro kerneo e alternativa aí em camadas E aí galera que que vocês responderiam aí nessa alternativa se quiser pensar um pouquinho aí pausa o vídeo vou trazer resposta agora para vocês ó então é a alternativa d micro kerneo aquele entregou né arquitetura para
so Mais vantajosa atualmente até que ele não disse nada só tá dizendo que é a mais vantajosa e agora ele vai explicar o porquê na qual o servidores Executa os processos no modo usuário então perceba que ele executa aqui no modo usuário né então a gente já sabe que os processos que são executadas exclusivamente no modo usuário é o microcando que ele tira todos aqueles módulos do núcleo e eleva por nível de modo usuário né que a gente anotou isso E aí o sistema ele tem o maior desempenho no que se disponibilidade do que se
refere a os casos de problemas um processo e em execução né então o objetivo aqui é ele otimiza a questão de desempenho nesse sentido aqui ele disponibilidade no caso de problemas com processo que esteja em execução algo que acontecia quando era na arquitetura monolítica um problema no processo de execução dentro do núcleo né era um problema de funcionamento do sistema operacional trazendo para o modo usuário o objetivo foi tornar esse acesso aos recursos dando um pouco mais de segurança para o sistema porque ele roda no modo usuário né proporcionando ali uma certa certo desempenho e
disponibilidade de serviço e caso tenha algum problema na execução do processo ele tá no modo usuário ele não tá no modo núcleo tá Então nesse sentido aqui que a banca trouxe essa questão que eu considero que pode causar uma certa dúvida porque ele fala desses aspectos aqui que a gente normalmente não se vê na literatura quando se fala desse tipo também de arquitetura então é por isso que é bom a gente fazer as questões de concurso para a gente costurando os conceitos com base A Banca vai trazendo né Beleza então chegamos ao final da nossa
aula espero que vocês tenham gostado se você não é inscrito se inscreve aí no canal curte esse vídeo para dar um apoio para gente eu vou ficando por aqui eu vejo vocês na nossa próxima aula até lá tchau