Использует ли сама операционная система ресурсы (помимо места, на котором она установлена)?

441
Celeritas

Я только что закончил курс по операционным системам, и определение операционной системы мне до сих пор неясно. Использует ли сама операционная система такие ресурсы, как процессор и память? Например, алгоритм планирования должен иметь некоторую вычислительную мощность для сравнения задач, чтобы увидеть, что идет первым, и какая структура данных, в которой находятся задачи, занимает место.

Кроме того, акт знания того, что делать с виртуальной памятью, должен выполнять вычисления, которые занимают ресурсы, верно?

Гипотетически говоря, если на компьютере с одной программой и без операционной системы запущена программа, программа будет выполняться до завершения быстрее, чем на том же компьютере, но с операционной системой. Это правда?

РЕДАКТИРОВАТЬ: Я согласен, что курс был полным дерьмом, для целей развлечения здесь это определение ОС, которое нам дали

Что такое операционные системы? • Несколько возможных определений: 1. Код, который предоставляет. 2. Код, от которого вы также не писали. 3. Код, который выполняется в привилегированном режиме. 4. Код, который делает вещи. работа 5. Код, который заставляет вещи рушиться (довольно циничное определение) 6. И многие другие ...

Что такое ОС • Абстракция - предоставление соответствующего интерфейса для приложений, выполняющихся на компьютере, для доступа к ресурсам этого компьютера - многое зависит от того, как мы определяем «соответствующие» • Способ решения различных проблем - производительность во времени - производительность в пространстве - совместное использование и управление ресурсами - отказоустойчивость - безопасность - конкурентоспособность

Это издевательство над учебником, на который нам пришлось потратить более 100 долларов, определяет операционные системы как «это то программное обеспечение, от которого зависит почти все остальное. Это все еще расплывчато, но тогда этот термин используется довольно туманно во всей отрасли».

3
Я никогда не видел программу, которая работает без какой-либо операционной системы. Если указанная программа не является операционной системой. Darius 10 лет назад 0
@Darius ой на самом деле даже не на встроенных устройствах? Например, у моего калькулятора [Ti-86] (http://en.wikipedia.org/wiki/TI-86) есть «программа», которая выполняет для меня квадратную формулу. Celeritas 10 лет назад 0
Если программа запускается без операционной системы, она должна делать многое из того, что делает операционная система. для некоторых примеров, которые делают это, посмотрите на программируемые логические контроллеры. hildred 10 лет назад 0
@Celeritas, если вы используете ассемблер Z80, то вы * близки к системе, но даже в этом случае калькулятор все еще имеет какую-то ОС, в противном случае ваши программы будут намного сложнее и будут содержать низкоуровневый машинный код делать даже простые вещи (не говоря уже о TI-BASIC). По крайней мере, ОС * запускает * программы. Например, ассемблерные программы в DOS могут манипулировать оборудованием, но они все еще * работают в DOS *. Synetech 10 лет назад 0
@Celeritas Мои знания ограничены, но я понимаю, что, если бы «программа», которая запускает встроенные устройства, не была операционной системой устройства, как бы она называлась? И я предполагаю, что все остальные выполняемые им вычисления или функции являются дополнительными программами, работающими в базовой операционной системе. Мое предположение: ОС калькулятора будет просто «Показать на экран» и «Принять нажатие кнопки для отображения на экране и расчета». Но фактический расчет (квадратная формула) будет программой, которую ОС может вызвать для получения результата .. нет? (поправьте меня, если я ошибаюсь) Darius 10 лет назад 0
@Celeritas Какие вещи были рассмотрены в курсе, который вы взяли? crdx 10 лет назад 0
@crdx IMO в основном фокусировался на процессах, потоках и связанных с ними темах, таких как алгоритмы планирования, общее адресное пространство, параллелизм и т. д. Celeritas 10 лет назад 0

2 ответа на вопрос

10
Synetech

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

Yes.

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

On a low-level, an operating system is no different than any other program; ultimately, it is nothing more than a bunch of CPU instructions. The only difference is that the instructions of an OS do something (more or less) different than those of a program.

The best way to describe an OS is as a meta-program. That is, instead of doing something, the program makes it possible for other programs to do something.

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

Yes, of course.

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.

Exactly. The OS’s functions are just piles of CPU instructions, and like functions in a user-program, they take up space and must run on the CPU.

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

Naturally.

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?

Slightly.

Remember that CPUs are very fast and can perform a lot instructions in a small amount of time. Moreover, operating systems have been designed and tweaked extensively to be as optimal as possible, so they use as little CPU and memory as they can (at least theoretically). As such, the algorithms they use for things like scheduling, memory management, task-switching, hardware driving, etc. use relatively little resources. You can see this in a task-manager; when there are no programs running and the OS is trimmed down to the minimum, then there will be very little memory in use and the CPU will run at “0%”. (Again, we’re talking theoretically; Windows for example has been “bloating” as of late, so it may not apply to that anymore.)

-6
anon

If you just finished taking a course on operating systems, you should ask for your money back. Your question is so naive I can't really believe you aren't trolling for the solution to a homework question.

The modern view of an OS is a collection of service providers that applications can use to access resources on the computer, such as memory, CPU and I/O devices. Exactly where the line between OS and application is drawn is a religious matter (see debates between Andrew Tanenbaum and Linus Torvalds).

Modern operating systems serve to present isolated machine abstractions to applications, eg your application can't get at the memory being used by my application. To do this in a secure and safe manner, the critical code to manage the abstraction is generally isolated into something called the OS kernel. Once again, the line between what goes in the kernel versus what is a user-space shared library is open to debate.

Really, if this kind of stuff wasn't covered in your OS course, what the heck was was?

Вопрос не в том, * что такое ОС? * Или даже * Чем ОС отличается от программы? *, А в том * использует ли ОС ресурсы *. Я уверен, что один из первых вопросов уже существует, поэтому вы можете перенести свой ответ на один из тех, где он будет более уместным (если, конечно, вы намеревались предоставить информацию, а не просто оскорбить). Synetech 10 лет назад 2
Любое базовое определение ОС должно для любого, кто обращает внимание, подразумевать использование ресурсов. Если бы оригинальный постер знал правильное определение ОС, вопрос об использовании ресурсов был бы спорным. anon 10 лет назад 0
@anon - Хотя я могу согласиться с тем, что кто-то, кто только что прошел курс обучения в операционных системах и задает вопрос, если сама операционная система использует ресурсы ЦП, наивен, ваше полное и полное игнорирование чувства автора не очень ценится и является единственным причина, по которой я выпустил отрицательный голос Другими словами, оскорбление не принесет вам репутацию и, скорее всего, приведет к невозможности опубликовать ответы. Ramhound 10 лет назад 2
Или даже более точно, чем эмоции, ответ просто не касается вопроса. Я тоже нахожу ответ тривиальным (по крайней мере, для себя с годами компьютерных знаний низкого уровня), но я могу представить, что кто-то, даже кто-то, кто прошел курс обучения ОС (который может быть или не быть столь же запутанным, как тот, которого я однажды забрал) может не совсем правильно понял или просто просто ошеломлен и смущен количеством подробной информации. Вот почему я пытался опубликовать краткий ответ, обращаясь к каждому пункту, чтобы ответить на фактически заданный вопрос. Synetech 10 лет назад 0
Серьезный вопрос: в моем учебнике буквально указано, что определение операционной системы не является четким и часто используется по-разному, верно ли это? Celeritas 10 лет назад 0

Похожие вопросы