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.)