{"id":30,"date":"2014-09-17T01:25:30","date_gmt":"2014-09-17T01:25:30","guid":{"rendered":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=30"},"modified":"2014-09-17T01:26:32","modified_gmt":"2014-09-17T01:26:32","slug":"tipos-de-so","status":"publish","type":"post","link":"https:\/\/www.uniessa.hiperlogic.com.br\/?p=30","title":{"rendered":"Tipos de SO"},"content":{"rendered":"<p>Finalizar Nota Anterior<br \/>\n<b>Apresentar os Tipos de SO<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0Quanto ao Uso:<\/b><br \/>\nMonotarefa &#8211; Monousu\u00e1rio<br \/>\nMultitarefa &#8211; Multiusu\u00e1rio<br \/>\nMultitarefa &#8211; Multiusu\u00e1rio<br \/>\n<b>\u00a0 \u00a0 \u00a0Quanto \u00e0 Arquitetura:<\/b><br \/>\nMonol\u00edtico<br \/>\nMicrokernel<\/p>\n<p><b>O que \u00e9 um Sistema Residente?<\/b><\/p>\n<p><b>Arquitetura de um SO:<\/b><br \/>\nUsu\u00e1rios<br \/>\nCamada de Aplica\u00e7\u00f5es<br \/>\nSistema Operacional<br \/>\nCamada de Usu\u00e1rio do SO<br \/>\nChamadas de Sistema comunicam a de cima e a de baixo<br \/>\nCamada de N\u00facleo (Kernel do SO)<br \/>\nCamada de Hardware<\/p>\n<p><b>Sob ponto de vista do usu\u00e1rio<\/b>: Executa programas requeridos<br \/>\n<b>Sob ponto de vista do Hardware<\/b>: Requisita recursos (e geralmente \u00e9 prontamente atendido salvo em alguns casos: Usu\u00e1rio, IRQ, DMA)<\/p>\n<p><b>Sistemas Operacionais com o Tempo:<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0Mainframes<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Programa\u00e7\u00e3o Direta (Sem SO, software gerenciava o HW)<\/b><br \/>\n&#8211; Altair 8800<br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Monitores de Execu\u00e7\u00e3o (quase-SO)<\/b><br \/>\n&#8211; Cart\u00f5es<br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Batch<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Primeiros SO<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Monitor Residente<\/b><br \/>\nInicializa Sistema, controla Hw<br \/>\nAloca Recursos<br \/>\nTransfere Controle pra um programa (tarefa)<br \/>\nAo final reassume o controle<br \/>\nProblemas ao se trocar a aplica\u00e7\u00e3o<\/p>\n<p><a href=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/91b82acaaa1cec7a2804b13ae83493f8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-31\" src=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/91b82acaaa1cec7a2804b13ae83493f8-163x300.png\" alt=\"91b82acaaa1cec7a2804b13ae83493f8\" width=\"163\" height=\"300\" srcset=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/91b82acaaa1cec7a2804b13ae83493f8-163x300.png 163w, https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/91b82acaaa1cec7a2804b13ae83493f8.png 178w\" sizes=\"auto, (max-width: 163px) 100vw, 163px\" \/><\/a><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Batch Multiprogramados<\/b><br \/>\nTenta resolver a ociosidade de carregar programas<br \/>\nCarregando varios simultaneamente na mem\u00f3ria<br \/>\nQuando um programa para esperando por dados outros podem ser executados<br \/>\nTudo era manual<\/p>\n<p><a href=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/1d0b97c99af2cb37be15d318ca39908b.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-32\" src=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/1d0b97c99af2cb37be15d318ca39908b.png\" alt=\"1d0b97c99af2cb37be15d318ca39908b\" width=\"181\" height=\"286\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/3c3feabc12d136ac9e4104311a73759f.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-33\" src=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/3c3feabc12d136ac9e4104311a73759f.png\" alt=\"3c3feabc12d136ac9e4104311a73759f\" width=\"293\" height=\"169\" \/><\/a><\/p>\n<p><b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Tempo Compartilhado<\/b><br \/>\nUm computador<br \/>\nV\u00e1rios Usu\u00e1rios &#8220;Simultaneamente&#8221;<\/p>\n<p><b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Sistemas de Mesa<\/b><br \/>\nSurgiu com os computadores pessoais ou esta\u00e7\u00f5es de trabalho<br \/>\nDedicados a apenas um usu\u00e1rio<br \/>\nVoltados \u00e0 conveni\u00eancia e resposta ao usu\u00e1rio<br \/>\nPodem ou n\u00e3o adotar solu\u00e7\u00f5es de sistemas de grande porte<\/p>\n<p><b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Sistemas Multiprocessados<\/b><br \/>\nSistemas com multiplas CPU&#8217;s pr\u00f3ximas<br \/>\nParalelos ou fortemente acoplados<br \/>\nProcessadores compartilham mem\u00f3ria e clock<br \/>\nComunica\u00e7\u00e3o entre CPU&#8217;s pela mem\u00f3ria<br \/>\nAumento de desempenho<br \/>\nEconomia de Escala<br \/>\nAumento de Confiabilidade<br \/>\nPodem ser:<br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0Sim\u00e9trico<\/b><br \/>\nCada processador executa a mesma tarefa<br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0\u00a0Assim\u00e9trico<\/b><br \/>\nCada processador executa tarefas diferentes<\/p>\n<p><b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Sistemas Distribu\u00eddos<\/b><br \/>\nSistemas fracamente acoplados<br \/>\nCada processador tem sua mem\u00f3ria local<br \/>\nComunica\u00e7\u00e3o se d\u00e1 por canais de transmiss\u00e3o. Ex: Rede<br \/>\nDistribuem-se a computa\u00e7\u00e3o entre diversos processadores fisicamente independentes<br \/>\nPodem se organizar como Cliente-Servidor ou Peer-to-Peer (par a par)<br \/>\nCompartilham recursos em uma rede<br \/>\nAumenta o desempenho por dividir a carga de trabalho<br \/>\nConfi\u00e1vel<br \/>\nProv\u00ea comunica\u00e7\u00e3o entre usu\u00e1rios e aplicativos<\/p>\n<p><b>Clusters (Agregados)<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0Embutidos<\/b><\/p>\n<p><b>Programa Interface: Shell ou GUI<\/b><br \/>\nPermite a Intera\u00e7\u00e3o Usu\u00e1rio-M\u00e1quina<br \/>\n<b>Shell<\/b>\u00a0(ou Interpretador de Comandos)<br \/>\nAlfanum\u00e9rico<br \/>\nBaseado em Texto<br \/>\nAguarda digita\u00e7\u00e3o do comando e enter<br \/>\nPermite digitar mais de um comando em uma \u00fanica linha<br \/>\nGeralmente permite que a sa\u00edda de um comando seja a entrada de outro<\/p>\n<p><b>GUI<\/b> (Graphical User Interface)<br \/>\nInterface Iconogr\u00e1fica<br \/>\nBaseada em \u00cdcones ou Imagens<br \/>\n(Geralmente) Bidimensional<br \/>\nPermite clicar em um local da tela para efetuar opera\u00e7\u00f5es<br \/>\nExecutar um comando<br \/>\nExecutar um programa<br \/>\nN\u00e3o permite concatena\u00e7\u00e3o de opera\u00e7\u00f5es (como na interface de texto)<\/p>\n<p>Nenhum dos dois fazem parte espec\u00edfica do SO<br \/>\nAmbos se encontram na camada de Aplica\u00e7\u00e3o<\/p>\n<p><b>N\u00edveis de Opera\u00e7\u00e3o<\/b><br \/>\nA maioria dos computadores (e PC&#8217;s a partir dos 286) tem 2 n\u00edveis de opera\u00e7\u00e3o<br \/>\n<b>Modo Nucleo (Kernel ou Supervisor)<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0Modo Usu\u00e1rio<\/b><\/p>\n<p><b>Modo N\u00facleo<\/b><br \/>\nN\u00edvel de Opera\u00e7\u00e3o do SO em si<br \/>\nPrograma nesse n\u00edvel tem acesso completo a todo hardware e pode executar qualquer instru\u00e7\u00e3o que a m\u00e1quina seja capaz de executar<br \/>\nSistema Operacional impede que programas utilizem o modo Kernel<\/p>\n<p><b>Modo Usu\u00e1rio<\/b><br \/>\nDisponibiliza apenas um subconjunto de instru\u00e7\u00f5es que a m\u00e1quina \u00e9 capaz de realizar<br \/>\nInstru\u00e7\u00f5es que afetam controle da m\u00e1quina ou realizam E\/S s\u00e3o proibidas<br \/>\nTais fun\u00e7\u00f5es s\u00e3o requisitadas ao Sistema Operacional via Chamada de Sistema<\/p>\n<p><b>Chamada de Sistema<\/b><br \/>\nS\u00e3o m\u00e9todos utilizados pelos programas para solicitar servi\u00e7os espec\u00edficos de hardware ao sistema operacional<br \/>\nCada chamada corresponde a um procedimento definido em uma biblioteca de software disponibilizada pelo e contida no sistema operacional<br \/>\nAs chamadas de sistema executam em modo protegido sem a interfer\u00eancia do usu\u00e1rio<\/p>\n<p><b>\u00a0 \u00a0 \u00a0Processo de Execu\u00e7\u00e3o de uma chamada de sistema:<\/b><br \/>\nServi\u00e7os s\u00e3o requisitados por se atribuir par\u00e2metros adequados aos seus locais determinados, ex: Em registradores<br \/>\nExecuta-se uma instru\u00e7\u00e3o especial de <i>trap<\/i>, uma chamada especial indicando que se deseja utilizar o modo kernel<br \/>\nA m\u00e1quina \u00e9 chaveada para o modo kernel, mas o controle vai para o SO, n\u00e3o para o programa<br \/>\nO SO examina os par\u00e2metros para determinar qual das chamadas de sistema executar<br \/>\nUma tabela \u00e9 consultada para verificar o endere\u00e7o do procedimento que executa a chamada ao sistema<br \/>\nAp\u00f3s a conclus\u00e3o da chamada de sistema o controle retorna ao modo usu\u00e1rio e devolve a execu\u00e7\u00e3o ao programa.<br \/>\n<b>Exemplo:<\/b><br \/>\n<b>\u00a0 \u00a0 \u00a0\u00a0 \u00a0 \u00a0<\/b>count=read(file,buffer,nbytes);<br \/>\nptr=(int*)malloc(sizeof(int)*4);<\/p>\n<p><b>Processo<\/b><br \/>\nConceito fundamental para todos os SO&#8217;s<br \/>\nAmbiente onde se executa um programa<br \/>\nConsiste na \u00e1rea de mem\u00f3ria alocada ao programa e a seus dados<br \/>\nBasicamente podemos dizer que \u00e9 um programa em execu\u00e7\u00e3o<br \/>\nSO indica a exist\u00eancia de um processo atrav\u00e9s de uma tabela chamada de <b>tabela de processos<\/b><br \/>\nCada entrada da tabela \u00e9 chamada de bloco de controle do processo (Process Control Block <b>PCB<\/b>)<br \/>\nUm PCB \u00e9 respons\u00e1vel por manter todas as informa\u00e7\u00f5es referentes a um determinado processo<br \/>\n<b>\u00a0 \u00a0 \u00a0Informa\u00e7\u00f5es de um Processo<\/b><br \/>\nPonteiros<br \/>\nEstado do Processo<br \/>\nPrioridade do Processo<br \/>\nLimites de Mem\u00f3ria<br \/>\nRegistradores Usados (e valores)<br \/>\nEstado dos Arquivos Abertos<br \/>\nLista de Arquivos Abertos<br \/>\nContabilidade do Processo no Uso de Recursos<br \/>\nOutras Informa\u00e7\u00f5es<br \/>\n<b>Estados do Processo<\/b><br \/>\nNum sistema multiprogram\u00e1vel (Multiprocessado), um processo passa por uma s\u00e9rie de estados durante sua exist\u00eancia.<br \/>\nEsses estados determinam qual o comportamento do processo no sistema e se limitam a 3:<br \/>\n<b>Pronto:<\/b>\u00a0Um processo encontra-se pronto para executar, apenas esperando o processador cham\u00e1-lo para iniciar<br \/>\n<b>Executando<\/b>: O processador est\u00e1 destinando seus recursos ao processo e efetivamente processando suas instru\u00e7\u00f5es<br \/>\n<b>Bloqueado\/Espera:<\/b>\u00a0Um processo est\u00e1 nesse estado quando aguarda a ocorr\u00eancia de determinado evento para continuar sua execu\u00e7\u00e3o<\/p>\n<p>Um processo pode ser bloqueado por:<br \/>\nApesar de estar pronto para executar, ainda necessita de alguma entrada ainda n\u00e3o dispon\u00edvel (DMA, scanf,&#8230;)<br \/>\nEstava executando, mas precisou realizar alguma opera\u00e7\u00e3o de E\/S, desocupou o processador, realizou a opera\u00e7\u00e3o e aguarda a retomada.<\/p>\n<p>Um processo muda diversas vezes de estado durante seu ciclo de vida em fun\u00e7\u00e3o de eventos gerados por ele pr\u00f3prio (<b>Eventos Volunt\u00e1rios<\/b>) ou pelo sistema operacional (<b>Eventos Involunt\u00e1rios<\/b>)<\/p>\n<p>Basicamente existem quatro mudan\u00e7as de estado que podem ocorrer a um processo:<\/p>\n<p><a href=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/8edddd2462cbe21143ca09114b6578af.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-34\" src=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/8edddd2462cbe21143ca09114b6578af-300x148.png\" alt=\"8edddd2462cbe21143ca09114b6578af\" width=\"300\" height=\"148\" srcset=\"https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/8edddd2462cbe21143ca09114b6578af-300x148.png 300w, https:\/\/www.uniessa.hiperlogic.com.br\/wp-content\/uploads\/2014\/09\/8edddd2462cbe21143ca09114b6578af.png 809w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Finalizar Nota Anterior Apresentar os Tipos de SO \u00a0 \u00a0 \u00a0Quanto ao Uso: Monotarefa &#8211; Monousu\u00e1rio Multitarefa &#8211; Multiusu\u00e1rio Multitarefa &#8211; Multiusu\u00e1rio \u00a0 \u00a0 \u00a0Quanto \u00e0 Arquitetura: Monol\u00edtico Microkernel O que \u00e9 um Sistema Residente? Arquitetura de um SO: Usu\u00e1rios Camada de Aplica\u00e7\u00f5es Sistema Operacional Camada de Usu\u00e1rio do SO Chamadas de Sistema comunicam a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[10],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-so","tag-tipos-de-so"],"_links":{"self":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=30"}],"version-history":[{"count":1,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":35,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=\/wp\/v2\/posts\/30\/revisions\/35"}],"wp:attachment":[{"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uniessa.hiperlogic.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}