Um sistema operacional em si ocupa recursos (além do espaço em que está instalado)?

3

Acabei de concluir um curso sobre sistemas operacionais e a definição de um sistema operacional ainda não está clara para mim. Algum sistema operacional em si utiliza recursos como CPU e memória? Por exemplo, o algoritmo de planejamento deve ter algum poder de processamento para comparar tarefas para ver o que vai primeiro e qualquer estrutura de dados em que as tarefas sejam mantidas ocupa espaço.

Além disso, o ato de saber o que fazer com a memória virtual deve fazer cálculos que utilizem recursos, certo?

Hipoteticamente falando, se um computador com um programa e nenhum sistema operacional estivesse executando o programa, o programa seria executado até a conclusão mais rapidamente do que no mesmo computador, mas com um sistema operacional. Isso é verdade?

EDIT: Eu concordo que o curso foi uma porcaria total, para fins de diversão aqui é a definição do sistema operacional que nos foi dado

O que são sistemas operacionais? • Várias definições possíveis 1.O código que {Microsoft, Apple, comunidade Linux, Google} fornece 2.O código de que você depende que você também não escreveu 3.O código que é executado no modo privilegiado 4.O código que faz as coisas funcionarem 5.O código que faz as coisas falharem (definição bastante cínica) 6. E muitos outros ...

O que são sistemas operacionais? • Uma abstração - fornecendo uma interface apropriada para aplicativos que executam em um computador para acessar os recursos do computador - depende muito de como definimos "apropriado" • Uma maneira de abordar diferentes preocupações - desempenho no tempo - desempenho no espaço - compartilhamento e gerenciamento de recursos - tolerância a falhas - segurança - comercialização

Este escárnio de um livro didático nós tivemos que gastar $ 100 + em diante, define sistemas operacionais como "é que o software que quase tudo depende disso. Isso ainda é vago, mas o termo é usado de maneira bastante nebulosa ao longo da indústria ".

    
por Celeritas 05.12.2013 / 04:49

2 respostas

10

Does an operating system itself take up resources (aside from the space it is installed on)?

Sim.

I just finished a course on operating systems and the definition of an operating system is still unclear to me.

Em um nível baixo, um sistema operacional não é diferente de qualquer outro programa; em última análise, nada mais é do que um monte de instruções de CPU. A única diferença é que as instruções de um sistema operacional fazem algo (mais ou menos) diferente das de um programa.

A melhor maneira de descrever um sistema operacional é como um programa . Ou seja, em vez de fazer algo, o programa possibilita que outros programas façam algo.

Does any operating system itself take up resources such as CPU and memory?

Sim, claro.

For example the scheduling algorithm must take some processing power to compare tasks to see which goes first and whatever data structure the tasks are held in takes up space.

Exatamente. As funções do sistema operacional são apenas pilhas de instruções da CPU e, como as funções em um programa do usuário, ocupam espaço e precisam ser executadas na CPU.

Also the act of knowing what to do with virtual memory must take calculations which take up resources, right?

Naturalmente.

Hypothetically speaking, if a computer with one program and no operating system was running the program, the program would run to completion faster than on the same computer but with an operating system. Is that true?

Ligeiramente.

Lembre-se de que as CPUs são muito rápidas e podem executar as instruções lote em um curto período de tempo. Além disso, os sistemas operacionais foram projetados e ajustados extensivamente para serem tão ótimos quanto possível, então eles usam o mínimo de CPU e memória que podem (pelo menos teoricamente). Como tal, os algoritmos que eles usam para coisas como agendamento, gerenciamento de memória, troca de tarefas, direcionamento de hardware, etc. usam relativamente poucos recursos. Você pode ver isso em um gerenciador de tarefas; quando não houver programas em execução e o sistema operacional estiver reduzido ao mínimo, haverá muito pouca memória em uso e a CPU será executada em “0%”. (Mais uma vez, estamos falando teoricamente; o Windows, por exemplo, tem sido "inchado" ultimamente, portanto, pode não se aplicar mais a isso.)

    
por 05.12.2013 / 05:06
-6

Se você acabou de fazer um curso sobre sistemas operacionais, deve pedir seu dinheiro de volta. Sua pergunta é tão ingênua que não posso acreditar que você não está procurando a solução para uma pergunta de lição de casa.

A visão moderna de um sistema operacional é uma coleção de provedores de serviços que os aplicativos podem usar para acessar recursos no computador, como memória, CPU e dispositivos de E / S. Exatamente onde a linha entre o SO e a aplicação é desenhada é um assunto religioso (veja os debates entre Andrew Tanenbaum e Linus Torvalds).

Sistemas operacionais modernos servem para apresentar abstrações de máquinas isoladas para aplicativos, por exemplo, seu aplicativo não pode acessar a memória que está sendo usada pelo meu aplicativo. Para fazer isso de maneira segura e segura, o código crítico para gerenciar a abstração é geralmente isolado em algo chamado kernel do sistema operacional. Mais uma vez, a linha entre o que está no kernel versus o que é uma biblioteca compartilhada do espaço do usuário está aberta para debate.

Realmente, se esse tipo de coisa não foi abordado em seu curso de SO, o que diabos foi?

    
por 05.12.2013 / 05:44