Что делает комплекс программ называемых операционной системой. Что такое операционная система. Существующие операционные системы
, Конкурс «Презентация к уроку»
Презентация к уроку
Назад
Вперёд
Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.
Общие сведения
На IBM-совместимых персональных компьютерах
используются операционные системы корпорации
Microsoft Widows, а также свободно распространяемая
операционная система Liux.
На персональных компьютерах фирмы Apple
используются различные версии операционной
системы Mac OS.
На рабочих станциях и серверах наибольшее
распространение получили операционные системы
Widows T/2000/XP и UIX.
Назначение операционной системы
Операционные системы разные, но их назначение и функции одинаковые. Операционная система является базовой и необходимой составляющей программного обеспечения компьютера, без нее компьютер не может работать в принципе.
Операционная система обеспечивает совместное функционирование всех устройств компьютера и предоставляет пользователю доступ к его ресурсам.
Состав операционной системы
Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером.
1. Управление файловой системой . Процесс работы компьютера сводится к обмену файлами между устройствами. В операционной системе имеются программные модули , управляющие файловой системой .
2. Командный процессор . Специальная программа, которая запрашивает у пользователя команды и выполняет их.
3. Драйверы устройств. Специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств. Технология «Plug ad Play» (подключай и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование.
4. Графический интерфейс. Используется для упрощения работы пользователя.
5. Сервисные программы или утилиты. Программы, позволяющие обслуживать диски (проверять, сжимать, дефрагментировать и т.д.), выполнять операции с файлами (архивировать и т.д.), работать в компьютерных сетях и т.д.
6. Справочная система. Позволяет оперативно получить информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
После включения компьютера происходит загрузка операционной системы с системного диска в оперативную память. Загрузка должна выполнятся в соответствии с программой загрузки. Однако для того, чтобы компьютер выполнял какую-нибудь программу, эта программа должна уже находится в оперативной памяти. Разрешение этого противоречия состоит в последовательной, поэтапной загрузке операционной системы.
Самотестирование компьютера
В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы – это BIOS(Basic Iput/Output System – базовая система вввода/вывода).
После включения питания или нажатия кнопки RESET на системном блоке компьютера или одновременного нажатия комбинации клавиш {Ctrl+Alt+Del} на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST(Power-OSelf Test). Производится тестирование работоспособности компьютера.
В процессе тестирования сначала могут выдаваться диагностические сообщения в виде различных последовательностей коротких и длинных звуковых сигналов.
После успешной инициализации видеокарты краткие диагностические сообщения выводятся на экран монитора.
После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам и поиск в определенном месте наличия специальной программы Master Boot (программы загрузчика операционной системы).
Если системный диск и программа-загрузчик оказываются на месте, то она загружается в оперативную память и ей передается управление работой компьютера.
Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение «osystem disk» и компьютер остается неработоспособным.
Процесс загрузки операционной системы
После окончания загрузки операционной системы управление передается командному процессору.
Функции
Основные функции:
- Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.). в оперативную память и их выполнение.
- Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
- Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
- Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск , оптические диски и др.), организованным в той или иной файловой системе .
- Обеспечение пользовательского интерфейса .
- Сохранение информации об ошибках системы.
Дополнительные функции:
- Параллельное или псевдопараллельное выполнение задач (многозадачность).
- Эффективное распределение ресурсов вычислительной системы между процессами .
- Разграничение доступа различных процессов к ресурсам.
- Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
- Взаимодействие между процессами : обмен данными, взаимная синхронизация.
- Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
- Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация , авторизация).
Компоненты операционной системы:
- Командный процессор (интерпретатор)
- Драйверы устройств
- Интерфейс
Понятие
Существуют две группы определений операционной системы: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры , содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки - также представляющие собой специализированные микрокомпьютеры - могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске .
Операционные системы нужны, если:
- вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
- различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция - тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
- между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
- оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды - оболочка и наборы утилит - они могут являться частью операционной системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро , содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов . Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Ядро
Ядро - центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время , память и устройства ввода-вывода . Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра.
Как основополагающий элемент операционной системы, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС.
Описанная задача может различаться в зависимости от типа архитектуры ядра и способа её реализации.
Пакетный режим
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) - в пакетном режиме.
Разделение полномочий
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора - «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Реальный масштаб времени
Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») - синхронизации исполнения программ с внешними физическими процессами.
Включение функции реального масштаба времени позволило создавать решения, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени).
Файловые системы и структуры
Постепенная замена носителей с последовательным доступом (перфолент , перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Файловая система - способ хранения данных на внешних запоминающих устройствах.
Существующие операционные системы
UNIX, стандартизация операционных систем и POSIX
Благодаря конкурентности реализаций архитектура UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического - ISO/IEC 9945 (POSIX).
Только системы, отвечающие спецификации Single UNIX Specification , имеют право носить имя UNIX. К таким системам относятся AIX , HP-UX , IRIX , Mac OS X , SCO OpenServer , Solaris , Tru64 и z/OS .
Операционные системы, следующие стандарту POSIX или опирающиеся на него, называют «POSIX-совместимыми» (чаще встречается словоупотребление «UNIX-подобные » или «семейство UNIX», но оно противоречит статусу торгового знака «UNIX», принадлежащего консорциуму The Open Group и зарезервированному для обозначения только операционных систем, строго следующих стандарту). Сертификация на совместимость со стандартом платная, из-за чего некоторые системы не проходили этот процесс, однако считаются POSIX-совместимыми по существу.
К UNIX-подобным относятся операционные системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD , OpenBSD , NetBSD), на основе Solaris (OpenSolaris , BeleniX , Nexenta), а также Linux , разработанная в части утилит и библиотек проектом GNU и в части ядра - сообществом, возглавляемым Линусом Торвальдсом .
Стандартизация операционных систем преследует цель упрощения замены самой системы или оборудования при развитии вычислительной системы или сети и упрощении переноса прикладного программного обеспечения (строгое следование стандарту предполагает полную совместимость программ на уровне исходного текста; из-за профилирования стандарта и его развития некоторые изменения бывают всё же необходимы, но перенос программы между POSIX-совместимыми системами обходится на порядки дешевле, чем между альтернативными), а также преемственность опыта пользователей.
Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах .
Пост-UNIX-архитектуры
Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство - это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно - это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса » Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году .
Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8 , на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует - доступ к локальным и к удалённым файлам единообразен. 9P - байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно - к унифицированным файлам, а не поблочно - к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.
Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.
Новые концепции были использованы Робом Пайком в Inferno .
См. также
Примечания
Литература
- Гордеев А. В. Операционные системы: Учебник для вузов. - 2-е изд. - СПб. : Питер , 2007. - 416 с. - ISBN 978-5-94723-632-3
- Деннинг П. Дж., Браун Р. Л. Операционные системы // Современный компьютер. - М ., 1986.
- Иртегов Д. В. Введение в операционные системы. - 2-е изд. - СПб. : BHV-СПб, 2007. - ISBN 978-5-94157-695-1
- Керниган Б. У. , Пайк Р. У. UNIX - универсальная среда программирования = The UNIX Programming Environment. - М ., 1992.
- Олифер В. Г., Олифер Н. А. Сетевые операционные системы. - СПб. : Питер , 2002. - 544 с. - ISBN 5-272-00120-6
- Столлингс У. Операционные системы = Operating Systems: Internals and Design Principles. - М .: Вильямс, 2004. - 848 с. - ISBN 0-1303-1999-6
- Таненбаум Э. С. Многоуровневая организация ЭВМ = Structured Computer Organization. - М .: Мир, 1979. - 547 с.
- Таненбаум Э. С. Современные операционные системы = Modern Operating Systems. - 2-е изд. - СПб. : Питер , 2005. - 1038 с. - ISBN 5-318-00299-4
- Таненбаум Э. С. , Вудхалл А. С. Операционные системы. Разработка и реализация = Operating Systems: Design and Implementation. - 3-е изд. - СПб. : Питер , 2007. - 704 с. - ISBN 978-5-469-01403-4
- Шоу А. Логическое проектирование операционных систем = The Logical Design of Operating Systems. - М .: Мир, 1981. - 360 с.
- Рэймонд Э. С. Искусство программирования для UNIX = The Art of UNIX Programming. - М .: Вильямс, 2005. - 544 с. - ISBN 5-8459-0791-8
- Mark G. Sobell. UNIX System V. A Practical Guide. - 3rd ed. - 1995.
Ссылки
- Операционная система в каталоге ссылок Open Directory Project (dmoz).
- Отставнов М. Е. Свободное программное обеспечение в школе . Свободное ПО для школы (2003).(недоступная ссылка - история ) Проверено 16 апреля 2010.
Функции
Основные функции:
- Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.). в оперативную память и их выполнение.
- Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
- Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
- Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск , оптические диски и др.), организованным в той или иной файловой системе .
- Обеспечение пользовательского интерфейса .
- Сохранение информации об ошибках системы.
Дополнительные функции:
- Параллельное или псевдопараллельное выполнение задач (многозадачность).
- Эффективное распределение ресурсов вычислительной системы между процессами .
- Разграничение доступа различных процессов к ресурсам.
- Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
- Взаимодействие между процессами : обмен данными, взаимная синхронизация.
- Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
- Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация , авторизация).
Компоненты операционной системы:
- Командный процессор (интерпретатор)
- Драйверы устройств
- Интерфейс
Понятие
Существуют две группы определений операционной системы: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры , содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки - также представляющие собой специализированные микрокомпьютеры - могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске .
Операционные системы нужны, если:
- вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
- различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция - тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
- между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
- оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды - оболочка и наборы утилит - они могут являться частью операционной системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро , содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов . Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Ядро
Ядро - центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время , память и устройства ввода-вывода . Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра.
Как основополагающий элемент операционной системы, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС.
Описанная задача может различаться в зависимости от типа архитектуры ядра и способа её реализации.
Пакетный режим
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) - в пакетном режиме.
Разделение полномочий
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора - «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Реальный масштаб времени
Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») - синхронизации исполнения программ с внешними физическими процессами.
Включение функции реального масштаба времени позволило создавать решения, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени).
Файловые системы и структуры
Постепенная замена носителей с последовательным доступом (перфолент , перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Файловая система - способ хранения данных на внешних запоминающих устройствах.
Существующие операционные системы
UNIX, стандартизация операционных систем и POSIX
Благодаря конкурентности реализаций архитектура UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического - ISO/IEC 9945 (POSIX).
Только системы, отвечающие спецификации Single UNIX Specification , имеют право носить имя UNIX. К таким системам относятся AIX , HP-UX , IRIX , Mac OS X , SCO OpenServer , Solaris , Tru64 и z/OS .
Операционные системы, следующие стандарту POSIX или опирающиеся на него, называют «POSIX-совместимыми» (чаще встречается словоупотребление «UNIX-подобные » или «семейство UNIX», но оно противоречит статусу торгового знака «UNIX», принадлежащего консорциуму The Open Group и зарезервированному для обозначения только операционных систем, строго следующих стандарту). Сертификация на совместимость со стандартом платная, из-за чего некоторые системы не проходили этот процесс, однако считаются POSIX-совместимыми по существу.
К UNIX-подобным относятся операционные системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD , OpenBSD , NetBSD), на основе Solaris (OpenSolaris , BeleniX , Nexenta), а также Linux , разработанная в части утилит и библиотек проектом GNU и в части ядра - сообществом, возглавляемым Линусом Торвальдсом .
Стандартизация операционных систем преследует цель упрощения замены самой системы или оборудования при развитии вычислительной системы или сети и упрощении переноса прикладного программного обеспечения (строгое следование стандарту предполагает полную совместимость программ на уровне исходного текста; из-за профилирования стандарта и его развития некоторые изменения бывают всё же необходимы, но перенос программы между POSIX-совместимыми системами обходится на порядки дешевле, чем между альтернативными), а также преемственность опыта пользователей.
Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах .
Пост-UNIX-архитектуры
Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство - это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно - это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса » Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году .
Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8 , на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует - доступ к локальным и к удалённым файлам единообразен. 9P - байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно - к унифицированным файлам, а не поблочно - к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.
Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.
Новые концепции были использованы Робом Пайком в Inferno .
См. также
Примечания
Литература
- Гордеев А. В. Операционные системы: Учебник для вузов. - 2-е изд. - СПб. : Питер , 2007. - 416 с. - ISBN 978-5-94723-632-3
- Деннинг П. Дж., Браун Р. Л. Операционные системы // Современный компьютер. - М ., 1986.
- Иртегов Д. В. Введение в операционные системы. - 2-е изд. - СПб. : BHV-СПб, 2007. - ISBN 978-5-94157-695-1
- Керниган Б. У. , Пайк Р. У. UNIX - универсальная среда программирования = The UNIX Programming Environment. - М ., 1992.
- Олифер В. Г., Олифер Н. А. Сетевые операционные системы. - СПб. : Питер , 2002. - 544 с. - ISBN 5-272-00120-6
- Столлингс У. Операционные системы = Operating Systems: Internals and Design Principles. - М .: Вильямс, 2004. - 848 с. - ISBN 0-1303-1999-6
- Таненбаум Э. С. Многоуровневая организация ЭВМ = Structured Computer Organization. - М .: Мир, 1979. - 547 с.
- Таненбаум Э. С. Современные операционные системы = Modern Operating Systems. - 2-е изд. - СПб. : Питер , 2005. - 1038 с. - ISBN 5-318-00299-4
- Таненбаум Э. С. , Вудхалл А. С. Операционные системы. Разработка и реализация = Operating Systems: Design and Implementation. - 3-е изд. - СПб. : Питер , 2007. - 704 с. - ISBN 978-5-469-01403-4
- Шоу А. Логическое проектирование операционных систем = The Logical Design of Operating Systems. - М .: Мир, 1981. - 360 с.
- Рэймонд Э. С. Искусство программирования для UNIX = The Art of UNIX Programming. - М .: Вильямс, 2005. - 544 с. - ISBN 5-8459-0791-8
- Mark G. Sobell. UNIX System V. A Practical Guide. - 3rd ed. - 1995.
Ссылки
- Операционная система в каталоге ссылок Open Directory Project (dmoz).
- Отставнов М. Е. Свободное программное обеспечение в школе . Свободное ПО для школы (2003).(недоступная ссылка - история ) Проверено 16 апреля 2010.
Базовое системное программное обеспечение
В базовое программное обеспечение входят:
· операционная система (ОС);
· операционные оболочки (текстовые и графические);
· сетевая операционная система.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
В секторе программного обеспечения и операционных систем ведущее положение занимают системы семейства MS Windows. Рассмотрим наиболее распространенные типы операционных систем.
Операционные системы для персональных компьютеров делятся на:
· одно- и многозадачные (в зависимости от числа параллельно выполняемых прикладных процессов);
· одно- и многопользовательские (в зависимости от числа пользователей, одновременно работающих с операционной системой);
· непереносимые и переносимые на другие типы компьютеров;
· несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ.
Сетевые операционные системы - комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью и др.), поддерживает работу в абонентских системах.
Операционные оболочки - специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Операционные оболочки имеют текстовый и графический варианты интерфейса конечного пользователя.
Наиболее популярны следующие виды текстовых оболочек операционной системы: Total Commander, Windows Commander и др.
Рассмотрим подробнее операционную систему.
Операционная система - совокупность программных средств, обеспечивающая управление аппаратной частью компьютера и прикладными программами, а также их взаимодействие между собой и пользователем.
Операционная система выполняет следующие функции:
· управление работой каждого блока персонального компьютера и их взаимодействием;
· управление выполнением программ;
· организацию хранения информации во внешней памяти;
· взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя.
Обычно операционная система хранится на жестком диске, а при его отсутствии выделяется специальный диск, который называется системным. При включении компьютера операционная система автоматически загружается с диска в оперативную память и занимает в ней определенное место. Операционная система создается не для отдельной модели компьютера, а для серии компьютеров, в структуре которых заложена и развивается во всех последующих моделях определенная концепция.
В основе любой операционной системы лежит принцип организации работы внешнего устройства хранения информации. Несмотря на то, что внешняя память может быть технически реализована на разных материальных носителях, их объединяет принятый в операционной системе принцип организации хранения логически связанных наборов информации в виде так называемых файлов.
Файл - логически связанная совокупность данных или программ, для размещения которой во внешней памяти выделяется именованная область.
Файл служит учетной единицей информации в операционной системе. Любые действия с информацией осуществляются над файлами.
В файлах могут храниться разнообразные виды и формы представления информации: тексты, рисунки, чертежи, числа, программы, таблицы и т.п. Особенности конкретных файлов определяются их форматом. Под форматом понимается элемент языка, в символическом виде описывающий представление информации в файле.
Для характеристики файла используются следующие параметры:
· полное имя файла;
· объем файла в байтах;
· дата и время создания файла;
· специальные атрибуты файла: только для чтения, скрытый, системный, архивированный.