Для выполнения на компьютере какой-либо программы необходимо, чтобы она имела доступ к ресурсам компьютера

Вид материалаДокументы

Содержание


архитектура микроядра; многопоточность; симметричная многопроцессорность; распределенные операционные системы; объектно-ориентир
Состав MS-DOS.
модуль расширения (io.sys) базовый модуль (msdos.sys) командный интерпретатор (command.com)
Модульная структура MS-DOS значительно облегчает ее модификацию, т.е. она открыта для наращивания своих возможностей.
Операционная оболочка Windows
основная цель системы - выполнять широкий спектр заданий и программ
многопользовательское окружение, которое позволяет разделять ресурсы компьютера с другими пользователями без уменьшения
быстро, что, кажется, взаимодействие происходит со всеми пользователями одновременно
Внутренняя память.
Внешняя память.
Другой известной стратегией замещения является стратегия LFU (Least Frequently
Управление памятью
Только task[0] (холостая задача (см.сноску 3) [Этот термин должен был быть определен ранее] ) использует swapper_pg_dir напрямую
Для пользовательского процесса segment_base = 0x00, page_dir для процесса своя.
Директории страниц пользователя имеют те же входы, как tt swapper_pg_dir свыше 768. Первые 768 входов представляют пространство
40. Управление памятью
В системе UNIX System V Release 4 реализована вытесняющая многозадачность, основанная на использовании приоритетов и квантования
Планировщик использует следующие характеристики для процессов разделения времени: ts_globpri содержит величину глобального приор
ts_tqexp системная часть приоритета, назначаемая процессу при истечении его кванта времени
Подобный материал:
  1   2   3   4   5   6   7   8   9   ...   16
1
Для выполнения на компьютере какой-либо программы необходимо, чтобы она имела доступ к ресурсам компьютера., операционная система — это администратор или менеджер ресурсов компьютера. Назначение операционной системы состоит в обеспечении пользователя программными средствами для использования ресурсов компьютера и эффективном разделении этих ресурсов между пользователями. Отсюда следует, что главными функциями операционной системы являются управление ресурсами компьютера и диспетчеризация или планирование этих ресурсов. Все программы, которые работают на компьютере под управлением операционной системы, называются пользовательскими программами. Совокупность пользовательских программ, которая предназначена для решения определенной задачи, называется приложением. Если операционная система одновременно может исполнять только одну пользовательскую программу, то она называется однопрогроммной или однопользовательской. Если же под управлением операционной системы могут одновременно выполняться несколько пользовательских программ, то такая операционная система называется мультипрограммной или многопользовательской. несколько типов операционных систем. Если операционная система может работать только на компьютере с одним процессором, то такая операционная система называется однопроцессорной. Если же операционная система может работать также и на компьютере, который содержит несколько процессоров, то такая операционная система называется мультипроцессорной. Следует делать различие между операционными системами, которые предназначены для обработки информации под управлением пользователя, и операционными системами, которые предназначены для управления объектами при помощи компьютера в реальном времени без участия пользователя.. Операционная система, предназначенная для работы в режиме реального времени, называется операционной системой реального времени. Главное отличие операционных систем реального времени заключается в их быстром реагировании на внешние события и надежности функционирования. Если пользователь, сидя у компьютера, будет только раздражен медленной или ненадежной работой операционной системы, то медленная или ненадежная работа операционной системы реального времени может вызвать поломку оборудования и аварию.






2
В первых компьютерах в конце 40-х и до середины 50-х годов прошлого века программы непосредственно взаимодействовали с аппаратным обеспечением машины — операционных систем тогда еще не было. Программы в машинных кодах и данные загружались через устройство ввода данных (например, устройство ввода с перфокарт). Такой режим работы можно назвать последовательной обработкой данных. Все это сопровождалось массой неудобств, а выполнение пользовательской программы занимало слишком много времени. Для устранения этих недостатков были разработаны различные системные инструментальные программы. К ним относятся библиотеки функций, редакторы связей, загрузчики, отладчики и драйверы ввода-вывода, существующие в виде программного обеспечения, общедоступного для всех пользователей. В дальнейшем для повышения эффективности работы была предложена концепция пакетной операционной системы. Главная идея, лежащая в основе простых пакетных схем обработки, состоит в использовании программы, известной под названием монитор. Используя операционную систему такого типа, пользователь не имеет непосредственного доступа к машине. Вместо этого он передает свое задание на перфокартах или магнитной ленте оператору компьютера, который собирает разные задания в пакеты и помещает их в устройство ввода данных. Так информация передается монитору. Каждая программа составлена таким образом, что по завершении ее работы управление переходит к монитору, который автоматически загружает следующую программу. Задания в пакетах выстраиваются в очередь и выполняются без простоев максимально быстро. Кроме того, монитор помогает в подготовке программы к исполнению Но в первых операционных системах отсутствовали прерывания, которые придают системе большую гибкость при управлении ресурсами процессора. Но и под управлением простой пакетной операционной системы при автоматическом выполнении заданий процессору часто приходилось простаивать. Поэтому разработчикам пришлось устранять и этот недостаток. Аппаратная часть совершенствовалась и появлялись новые возможности для повышения производительности процессора. Значительно возросшие объемы оперативной памяти позволяли размещать в ней несколько пользовательских программ и появилась возможность исполнять их параллельно, переключаясь с одной программы на другую. Поэтому изменилась и операционная система — появился многозадачный режим. Такой режим является основным в современных операционных системах. решения проблем многозадачности потребовалось разработать аппаратное обеспечение, поддерживающее прерывания ввода-вывода, и прямой доступ к памяти. Используя эти возможности, процессор генерирует команду ввода-вывода для одного задания и переходит к другому на то время, пока контроллер устройства выполняет ввод-вывод. После завершения операции ввода-вывода процессор получает прерывание, и управление передается программе обработки прерываний из состава операционной системы. Затем операционная система передает
Использование многозадачности в пакетной обработке приводило к существенному повышению эффективности использования компьютера. Однако пользователи, почувствовавшие вкус к работе с компьютером, стали настаивать на таком режиме, в котором они могли бы непосредственно взаимодействовать с компьютером. Это стало возможным при возросшем уровне аппаратного обеспечения, когда многозадачность позволяет процессору не только одновременно обрабатывать несколько заданий в пакетном режиме, но и применяется для обработки нескольких интерактивных заданий. Такой режим компьютера называют работой с разделением времени, потому что процессорное время распределяется между отдельными пользователями. В системе разделения времени несколько пользователей одновременно получают доступ к системе с помощью терминалов, а операционная система чередует исполнение программ каждого пользователя через малые промежутки времени. Принимая во внимание относительно медленную реакцию человека, время отклика компьютера с хорошо настроенной операционной системой будет почти незаметно для пользователя. С появлением разделения времени и многозадачности перед создателями операционных систем появилось много проблем. Если в памяти находится несколько заданий, их нужно защищать друг от друга, иначе одно задание может легко изменить данные другого задания. Если в интерактивном режиме работают несколько пользователей, то файловая система должна быть защищена, чтобы к каждому конкретному файлу доступ был только у определенных пользователей. Нужно разрешать конфликтные ситуации, возникающие при работе с различными ресурсами, например, при обращении к принтеру или устройству хранения данных нескольких пользователей одновременно, и еще много разных проблем. Все это потребовало разработки новых операционных систем.



3
Современные операционные системы отвечают требованиям постоянно развивающегося аппаратного и программного обеспечения. Они способны управлять работой многопроцессорных систем, высокоскоростных сетевых устройств и новейших запоминающих устройств, разнообразие типов которых постоянно увеличивается. Из приложений, оказавших значительное влияние на архитектуру операционных систем, следует выделить мультимедийные приложения, средства доступа к Internet, а также модель распределенных вычислений клиент/сервер. В экспериментальных и коммерческих операционных системах были опробованы самые разнообразные подходы и структурные компоненты, большинство из которых можно объединить в следующие категории:
архитектура микроядра; многопоточность; симметричная многопроцессорность; распределенные операционные системы; объектно-ориентированное построение.
Отличительной особенностью большинства операционных систем на сегодняшний день является большое монолитное ядро. Ядро операционной системы обеспечивает большинство ее возможностей, включая планирование заданий, работу с файловой системой, сетевые функции, работу драйверов различных устройств, управление памятью и т.д. Обычно монолитное ядро реализуется как единый процесс, все элементы которого используют одно и то же адресное пространство. В архитектуре микроядра ядру отводится лишь несколько самых важных функций, в число которых входят работа с адресными пространствами, обеспечение взаимодействия между процессами и основное планирование. Работу других сервисов операционной системы обеспечивают процессы, которые иногда называют серверами. Эти процессы запускаются в пользовательском режиме и микроядро работает с ними так же, как и с другими приложениями. Такой подход позволяет разделить задачу разработки операционной системы на разработку ядра и разработку сервера. Серверы можно настраивать для требований конкретных приложений или среды. Выделение в структуре системы микроядра упрощает реализацию системы, обеспечивает ее гибкость, а также хорошо вписывается в распределенную среду. Фактически микроядро взаимодействует с локальным и удаленным сервером по одной и той же схеме, что упрощает построение распределенных систем.
Многопоточность — это технология, при которой процесс, выполняющий приложение, разделяется на несколько одновременно выполняемых потоков. Разбивая приложение на несколько потоков, программист получает все преимущества модульности приложения и возможность управления связанными с приложением временными событиями. Многопоточность оказывается весьма полезной для приложений, выполняющих несколько независимых заданий, которые не требуют последовательного исполнения. Если в пределах одного и того же процесса обрабатываются несколько потоков, то при переключении между различными потоками непроизводительный расход ресурсов процессора меньше, чем при переключении между разными процессами. До недавнего времени все персональные компьютеры, рассчитанные на одного пользователя, и рабочие станции содержали один процессор общего назначения. В результате постоянного повышения требований к производительности и снижении стоимости микропроцессоров производители перешли к выпуску компьютеров с несколькими процессорами. Для повышения эффективности работы таких систем используется технология симметричной многопроцессорной обработки данных. При этом процессоры, соединенные между собой коммуникационной шиной или какой-нибудь другой схемой, совместно используют одну и ту же основную память и одни и те же устройства ввода-вывода. Операционная система должна поддерживать симметричную многопроцессорную обработку данных, распределяя процессы или потоки между всеми процессорами. При этом повышается надежность работы, так как отказ одного из процессоров не приведет к остановке компьютера, потому что все процессоры могут выполнять одни и те же функции. После такого отказа система продолжит свою работу, хотя производительность ее несколько снизится. Также легко повышать производительность системы, добавляя в систему дополнительные процессоры. Одним из последних новшеств в устройстве операционных систем стало использование объектно-ориентированных технологий. Объектно-ориентированная структура помогает навести порядок в процессе добавления к основному небольшому ядру дополнительных модулей. На уровне операционной системы объектно-ориентированная структура позволяет программистам настраивать операционную систему, не нарушая ее целостности. Кроме того, этот подход облегчает разработку распределенных инструментов и полноценных распределенных операционных систем



4
Наиболее популярной из однозадачных ОС является ОС DOS, которая впервые была выпущена в 1981 г. и называлась MS-DOS.
MS-DOS является однопрограммной системой, но имеет и некоторые элементы многопрограммности. Это, например, печать на принтере на фоне выполнения другой задачи. Достоинства MS-DOS: Используются унифицированные символы (*, ?) при работе с файлами. Поддержка иерархической файловой структуры. Возможность как последовательного, так и прямого доступа к содержимому файлов. Возможность создания в ОЗУ виртуальных дисков, что ускоряет обмен информацией. Возможность запуска фоновых задач Модульность структуры, что упрощает перенос системы на другие типы ПЭВМ. Недостатки: Полное отсутствие средств защиты от несанкционированного доступа к ресурсам компьютера и самой ОС. Отсутствие пользовательского интерфейса.
Состав MS-DOS.

Вывод: ОС получила название "дисковой", потому что изначально все ее элементы (модули) за исключением BIOS находятся на магнитных дисках. При этом на системном диске должны быть расположены: системный загрузчик
модуль расширения (io.sys)
базовый модуль (msdos.sys)
командный интерпретатор (command.com)
файлы конфигурации (config.sys)
файл автозагрузки (autoexec.bat)
Модульная структура MS-DOS значительно облегчает ее модификацию, т.е. она открыта для наращивания своих возможностей.


Уровни вложенности элементов MS-DOS.



На внутреннем уровне находятся программы, управляющие аппаратурой, а на внешнем - средства для организации диалога с пользователями. Основная часть MS-DOS - промежуточные уровни, которые управляют файловой системой, выполнением и взаимодействием программ, использованием памяти.