1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de controle dos recursos do computador, gerenciando eventuais conflitos, e alocando esses recursos da maneira mais eficiente possível. Constituem assim uma forma razoável de tornar os complexos componentes do hardware em algo utilizável na execução de tarefas para o usuário. 2. Quais são os dois modos de operação de um sistema operacional? Explique com suas palavras cada um deles. R: Modo kernel (ou supervisor) que é onde roda o sistema operacional,enquanto os demais programas como software básico e software aplicativos rodam em modo usuário. 3. Por que existe a necessidade de uma quantidade mínima de memória para instalarmos um sistema operacional? Quais problemas poderão ocorrer caso não seja está necessidade? Explique sua resposta. R: Para que o sistema operacional possa utilizar todas as funções corretamente, sem que o processamento fique lento ou travando, pela falta de memória. E com isso até mesmo perdendo ou corrompendo arquivos. 4. Existe algum tipo de restrição quanto ao tipo de processador e o sistema operacional a ser utilizado? Explique sua resposta. R: Sim, sistemas operacionais mas novos, não rodam em processadores antigos, e processadores antigos, não consegue exercer 100% da sua capacidade de processamento se não possuir o sistema operacional correto que possa usar toda a capacidade de processamento do processador. 5. Quando instalamos um sistema operacional num computador, todos os arquivos que são instalados fazem parte do sistema operacional? Explique sua resposta. R: Eles são instalados junto com o sistema operacional,mas não são o sistema operacional eles apenas utilizam os serviços do sistema operacional para executar suas tarefas. 6. Cite três exemplos de sistemas operacionais, destacando algumas de suas limitações e vantagens. R: MS-DOS É um sistema operacional que se encarrega do hardware do computador. É o programa que gerencia os componentes básicos do computador. UNIX Mudanças nele era muito fácil. O seu software de conexão de redes tornava muito fácil a tarefa de conectar computadores UNIX a redes locais. Windows NT compatibilidade com outros sistemas operacionais para PCs e com os programas projetados para rodas sob eles. foi projetado para satisfazer ou exceder os padrões atuais de desempenho.um outro aspecto importante é que ele pode rodar em computadores com múltiplas CPUs. 7. Quais são os tipos de sistemas operacionais? R: Lote (ou Bach),Interativos (ou Time-sharing), Tempo Real (ou Real Time) 8. Qual é a principal característica do sistema operacional em batch? R: Sua principal característica é a falta de qualquer, tipo de interação com o usuário. 9. Como é o funcionamento de um sistema operacional em batch? 1
R: As tarefas, ou "jobs", são agrupadas conforme seu tipo, geralmente determinado pela linguagem-fonte, e executadas sequencialmente uma-a-uma. 10. Quais são as principais limitações de um sistema operacional em batch? R: Sua finalidade é minimizar o tempo ocioso de CPU e de periféricos, devido ao seu elevado custo, à custa de grandes tempos de resposta. 11. Por que o sistema operacional em batch tem um longo tempo de resposta? Explique sua resposta. R: Nestes sistemas operacionais o objetivo é maximizar o throughput (jubas/unidade de tempo) com isso ocorre maiores tempos de resposta. 12. Quais foram os dois conceitos desenvolvidos no período do sistema operacional em batch que foram utilizadas para agrupar jobs? Explique cada um deles. R: Tipo batch os conceitos de I/O bound e tarefas CPU bound (surgidos também nessa época) podem ser usados para agrupar os jobs. 13. Qual é a principal característica do sistema operacional time-sharing? R: Nos sistemas T.S. a interação com o usuário é freqüente. 14. Como é o funcionamento de um sistema operacional time-sharing? R: Devido a interação com o usuário o processamento se torna mas lento devido a dependência ao usuário para determinado processamento. 15. Por que existe time-slicing no sistema operacional time-sharing e não no sistema operacional em batch? Explique sua resposta. R: Os pequenos tempos de resposta necessários a essa interação constante exigem que periodicamente o sistema operacional seja executado, expulsando o processo corrente da CPU, o que é chamado de time-slicing, ou concorrência. Devido a falta de interação com o usuário em Batch. 16. Pensando nos sistemas operacionais em batch e time-sharing, diga qual deles tem o tempo de processamento mais rápido de um processo? Explique sua resposta. R: O batch, porque ele não fica na dependência do usuário para executar determinado processamento. 17. O sistema operacional real-time tem sua aplicação tipicamente em controle de processos industriais. Por que está afirmação pode ser válida? Explique sua resposta. R: Porque necessitam, no mínimo,de relógio de tempo real e capacidade de conversão D/A-A/D, e suas exigências de tempo de resposta são rígidas. 18. Para que um sistema operacional possa ser considerado real-time, ele deve ter algumas características básicas. Cite pelo menos três e explique a necessidade de cada uma delas. R: Os mecanismos de interrupção, para parar um processamento de menos prioridade para iniciar outra de maior prioridade.o grau de multiprogramação é elevado, e tolerância a falhas tem que ser bem projetada. 19. Quando uma rotina de tratamento de interrupção é iniciada num sistema operacional real-time, ela poderá ter seu atendimento interrompido? Explique sua resposta. R: Sim poderá ser interrompida, para ser iniciada uma outra com prioridade maior que a dela. 2
20. Qual é o uso dos programas monitores? R: São usados em geral em computadores pequenos ou experimentais,muitas vezes dedicados. Contem o interpretador de comandos e rotinas simples para controle do hardware. 21. Os programas monitores contêm rotinas simples para controle do hardware? Cite pelo menos três. R: Sim. Listar, alterar, mover blocos de memória; Incluir/excluir breakpoints, para uso dos depuradores; Realizar E/S e controlar periféricos simples. 22. As rotinas utilizadas nos programas monitores são de qual nível? Explique sua resposta. R: Em geral todos os serviços são prestados com rotinas de nível muito baixo, tipicamente linguagem Assembly. 23. Qual é a seqüência realizada na execução de um programa monitor? R: Sua execução segue um ciclo do tipo espera, interpreta, executa, responde, espera, interpreta, executa, responde... 24. Como podemos definir os objetivos de um sistema operacional? R: Fazer a ponte entre o hardware e o usuário, ser seguro para prevenir que o usuário não se prejudique e nem prejudique outros usuários.responder rapidamente aos processamentos exigidos pelo usuario. 25. Cite pelo menos três objetivos de um sistema operacional. R: Compartilhar o hardware com eficiência e confiabilidade; Proteger um usuário das ações de outros, sejam essas ações intencionalmente maldosas ou não; Reduzir os efeitos de falhas de hardware ou software; Apresentar tempos de resposta previsíveis. 26. Qual é o objetivo do ponto de vista de um usuário em função do sistema operacional? Cite pelo menos três. R: Executar programas: significa poder carregá-los para a memória, dar-lhes, ó controle e poder recebê-io de volta, e atender suas chamadas em geral;realizar E/S: o sistema operacional deve conter os "drivers" que conhecem os periféricos, para que o usuário não precise se preocupar com detalhes técnicos;criar e manter um sistema de arquivo: converter detalhes de hardware como trilhas, setores, clusters. 27. Qual é o objetivo do ponto de vista do hardware em função do sistema operacional? Cite pelo menos três. R: Alocar recursos com eficiência, minimizando a ociosidade de quaisquer componentes;manter a contabilidade dos recursos, tanto para fins estritamente comerciais como para fins de auditoria ou de uso do próprio sistema;prover mecanismos de proteção em software (por exemplo: rotinas para tratamento de "traps"). 28. Como podemos definir as funções de um sistema operacional? R: Ao contrário dos objetivos do SO, que se referem ao que ele deve ser propor a realizar, as funções dizem respeito à forma de realizar esses objetivos. 29. Analisando as funções de um sistema operacional, como podemos avaliar o ponto de vista do usuário em relação às chamadas ao sistema, os programas de sistema e o interpretador de comandos. Explique sua resposta. 3
R: são rotinas de nível muito baixo, em geral com formato de linguagem Assembly. São a forma mais simples de interface entre usuário e o hardware. Podem ser dos tipos chamadas de Jobs, manipulação de arquivos, gerência de dispositivos e informações de ou para o sistema. 30. Como o sistema operacional é um software orientado a eventos, ele necessita de demanda para não ficar ocioso. Como podemos caracterizar os eventos que podem ocorrer no sistema operacional? Explique sua resposta. R: Interrupções com hardware: quando um periférico termina um serviço é ele quem interrompe o processo em execução na CPU, para avisar que está livre; Chamadas ao sistema para: solicitação de recursos (memória e dispositivos), solicitação de E/S, solicitação de informações (data, hora, etc), disparo de processos, término normal/anormal de processos; "Traps": são tipos especiais de interrupções, geradas internamente à CPU,devido a tentativas de execução de instruções ilegais ou privilegiadas, referências ilegais à memória, tentativa de divisão por zero, erro de paridade, etc. 31. Qual é a principal característica de um sistema operacional? Explique sua resposta. R: A principal característica de um Sistema Operacional, independente de seu tipo, é a sua estrutura. Na análise destas características é importante distinguir claramente os mecanismos do SO das políticas do S.O. 32. Quais são os tipos de estruturas em que os sistemas operacionais se baseiam ou já foram baseados? R: Sistemas com Estrutura Monolítica; Sistemas com Estrutura em Camadas; Sistemas com Estrutura de Máquinas Virtuais (VM da IBM); Sistemas com Estrutura Cliente/Servidor 33. Quais os principais problemas existentes nos sistemas com estrutura monolítica? Explique sua resposta. R: A dificuldade de manutenção e o risco de loop de chamadas são as principais desvantagens. Mesmo com interfaces bem definidas quanto aos parâmetros e resultados, e com mecanismos de interrupção vetorizados não apresentam desempenho satisfatório. 34. Como estes problemas foram resolvidos? R: Com a mudança para o sistema com estruturas de camadas 35. Explique como o funcionamento de um sistema com estrutura em camadas. R: Nestes sistemas definimos vários níveis de serviço, ou camadas, sendo que uma camada só pode pedir serviço à inferior e prestar serviço à superior, o que facilita a manutenção e evita o risco de loop de chamada. 36. Como os sistemas com estrutura de máquinas virtuais criam uma ilusão de um processador para cada processo? Explique sua resposta. R: Usando um eficiente escalonador para a CPU e técnicas de memória virtual este sistema cria a ilusão de um processador para cada processo, como se estes estivessem usando o Hardware real "puro". 37. Como se dá o funcionamento de um sistema com estrutura cliente/servidor? Explique sua resposta. R:Os processos do usuário (processos clientes) enviam solicitações de serviços através do núcleo, a processos servidores. Nesta situação o núcleo é quase que somente um servidor de mensagens. Os servidores são simples, pois são dedicados, o que facilita a sua manutenção, e como são executados em modo usuário os "bugs" não derrubam todo o sistema. Uma outra vantagem é que este modelo é facilmente adaptável a sistemas de computação distribuídos. Algumas funções do S.O. continuam 4
precisando ser executadas em modo supervisor, ou seja, alguns servidores,devem "rodar" em modo protegido. 38. Cite e explique 3 características dos sistemas operacionais. R: MS-DOS: E o sistema operacional mais utilizado,faz parte do software básico e É um programa que se encarrega do Hardware do computador Unix: O seu software de conexão de redes tornava muito fácil a tarefa de conectar computadores UNIX a redes locais.nessa versão é que foram integrados os softwares que implementam TCP/IP e sockets. partes do computador poderiam ser desligadas para manutenção sem que outras partes ou usuários fossem afetados. Win NT: projetado para permitir compatibilidade regressiva com a grande base de aplicações para PC existentes; projetado para satisfazer ou exceder os padrões atuais de desempenho. Um outro aspecto importante é que ele pode rodar em computadores com múltiplas CPUs. Win 95 : Ele cria uma interface gráfica para o usuário para proporcionar a este uma comunicação mais intuitiva e fácil com o computador; suporte Plug-and-Play automatizando totalmente a instalação e configuração da máquina. Esta tecnologia acaba com os problemas de instalação de placas e outros periféricos,pois autoconfigura os componentes e põe fim aos conflitos de endereço e interrupção de memória. 5