Автор работы: Пользователь скрыл имя, 09 Декабря 2012 в 10:21, курс лекций
Временем появления на Земле вида «человек разумный» вполне можно считать тот момент, когда представители этого вида стали собирать, осмысливать, обрабатывать, хранить и передавать разнообразную информацию. Таким образом, человечество (социум) постоянно имеет дело с информацией.
Строгого научного определения понятия «информация» нет. Существует более 300 толкований этого термина.
Основой системного программного обеспечения является операционная система (ОС), предназначенная для управления аппаратными и программными ресурсами компьютера, а также для организации взаимодействия пользователя с компьютером, называемого интерфейсом. Операционная система представляет собой набор программ, хранимых в виде файлов на диске. Она автоматически загружается в оперативную память при включении и остаётся там до выключения компьютера. Эта операция загрузки выполняется загрузчиком- программой, которая вызывается базовой системой ввода-вывода (BIOS). BIOS размещается в постоянном запоминающем устройстве (ПЗУ), к которому доступ пользователя запрещён. Кроме вызова программы загрузчика BIOS также выполняет тестирование основных аппаратных компонентов. BIOS иногда относят к аппаратным средствам, иногда к программным.
В зависимости от аппаратных ресурсов компьютера различают однозадачные и многозадачные ОС, ОС с текстовым и графическим интерфейсом. К однозадачным ОС с текстовым интерфейсом относят ОС MS DOS, к многозадачным с графическим интерфейсом - UNIX, WINDOWS. Многозадачные ОС управляют, распределяют ресурсы компьютера и обеспечивают:
Основные функции операционной системы состоят в обеспечении удобного взаимодействия пользователя с аппаратным и программным обеспечением компьютера:
Функции операционной системы можно сравнить с обязанностями управляющего. Операционная система решает, какие ресурсы компьютера будут использованы, какие программы будут запущены, и в каком порядке будут следовать эти и другие операции для выполнения поставленной пользователем задачи.
Итак, операционная система выполняет три основные задачи:
Операционная система
Компьютер обычно выполняет несколько программ параллельно. Каждая задача разбивается на множество «тактов», которые компьютер обрабатывает, переключаясь между задачами. Такты должны выполняться различными устройствами компьютера – одной программе необходимо произвести расчёт электронной таблицы, второй – распечатать документ на принтере, третья обращается к серверу организации, на котором хранится база данных и т.д. Задача ОС – скоординировать работу всех компонентов компьютера так, чтобы все приложения выполнялись как можно быстрее и эффективнее. Для этого операционной системе необходимо осуществлять планирование использования различных ресурсов компьютера (прежде всего, ЦП, ОЗУ и жёсткого диска). Как правило, каждой задаче присваивается приоритет выполнения, в соответствии с которым и осуществляется планирование.
ОС контролирует работу компьютера. Она отслеживает стадии выполнения каждой задачи, а также ведёт журнал учёта – использования компьютера, запущенных программы, случаи несанкционированного использования программ или данных. В любом случае, ОС любого компьютера – и мэйнфрейма и ПК – сама по себе очень большая программа. Поэтому в оперативной памяти всегда хранится лишь часть ОС, называемая ядром (kernel). Большая же часть ОС хранится на жёстком диске. Когда какая-либо часть операционной системы необходима для выполнения данного приложения, эта часть подгружается с жёсткого диска в ОЗУ. Диск, на котором хранится операционная система, называется системным (system disk).
Поскольку процессор может выполнять одну инструкцию в отдельный момент времени, следует подробно остановиться на тех механизмах операционных систем, которые позволяют управлять десятками приложений.
Многозадачность (multitasking) – механизм, позволяющий выполнять на компьютере несколько задач (tasks). В зависимости от вида компьютера, применяется несколько видов реализации этого механизма. Рассмотрим тот, который применяется в операционных системах микрокомпьютеров.
Рис. 4.1. Многозадачность
Как показано на Рис. 4.1, система без поддержки многозадачности может выполнять в каждый момент времени только одно приложение. Такой режим работы компьютера зачастую не позволяет полностью задействовать все его ресурсы – процессор может быть недогружен, большая часть оперативной памяти будет оставаться свободной, периферийные устройства будут ожидать команд ввода или вывода информации. В случае же применения механизма многозадачности, можно запустить несколько приложений. Самое важное при реализации этого механизма – не позволять каким-либо двум приложениям одновременно задействовать одни и те же ресурсы компьютера – будь то ЦПУ, память или периферийные устройства. В случае с оперативной памятью применяется разделение её адресного пространства на отдельные непересекающиеся области и выделение таких областей каждому запущенному приложению. Таким образом, получается, что каждая отдельная программа работает в отведенной ей области памяти и не конфликтует с другими программами. С разделением ресурсов процессора дело обстоит иначе, поскольку процессор как правило один, и может выполнять только одну инструкцию за цикл. Чтобы программы, находящиеся в ОЗУ могли выполняться вместе, каждой из них выделяется определённый интервал времени работы процессора (около. Пользователь не замечает, что компьютер обрабатывает все программы по очереди – ему кажется, что все запущенные приложения выполняются одновременно. Кроме того, каждой программе может быть назначен приоритет. В первую очередь обрабатываются команды программ с более высоким приоритетом; в случае равного приоритета инструкции приложений выполняются в порядке очерёдности; наивысший приоритет всегда имеет ядро операционной системы.
Механизм многопоточности чем-
Как известно, адресное пространство – это размер памяти компьютера, которую система может использовать. Механизм виртуальной памяти (virtual storage) позволяет выделить часть памяти на жёстком диске, чтобы в дальнейшем система рассматривала эту часть как продолжение первичной. В результате компьютер может адресовать больше памяти. Применение этого механизма, также как многозадачности и многопоточности, позволяют добиться существенного повышения эффективности работы компьютера. Из-за того, что размер первичной памяти ограничен, часть программного кода каждой из программ записывается на жёсткий диск в так называемый файл подкачки (swap file), освобождая, таким образом, оперативную память для других программ. Однако следует помнить, что жёсткие диски намного медленнее ОЗУ, поэтому размер первичной памяти должен быть достаточно большим.
Симметричная
Одной из основных «обязанностей» операционной системы является обеспечение и поддержка диалога пользователя с компьютером, что достигается с помощью пользовательского интерфейса. Интерфейс пользователя (user interface) – это средства взаимодействия компьютера с пользователем.
У ранних операционных систем, таких как DOS, интерфейс был построен на базе командной строки (command prompt). Для выполнения какой-либо операции, пользователю нужно было набрать в командной строке соответствующую команду. Например, чтобы удалить документ text, требовалось ввести следующую команду:
delete c:\text
Поскольку пользователю необходимо выполнять множество различных действий с программами и документами, требовалось помнить довольно много различных команд, причём у большинства программ был ещё и набор своих собственных команд. Разумеется, работу с компьютером такой интерфейс делал отнюдь не приятной. Современные операционные системы обладают графическим пользовательским интерфейсом (Graphical User Interface, GUI). Каждый объект системы, будь то документ или программа, отображается графическим символом, называемым пиктограммой или иконкой (icon). Большинство команд выполняется с помощью мыши – с помощью курсора объект выделяется, а затем пользователь одним движением руки выполняет команду. GUI помогает пользователю при использовании многозадачного режима – каждая запущенная программа отображается на экране в отдельной области – окне (window). Чтобы перейти из одного запущенного приложения в другое, достаточно просто щелкнуть мышью по любой части окна нужной программы. Многие GUI используют систему всплывающих экранных меню (pull-down menu) и дополнительные диалоговые окна, чтобы облегчить пользователю ввод команд и данных. Сторонники GUI утверждают, что этот механизм позволяет сэкономить время обучения начинающих пользователей. С этим трудно не согласиться – часто у пользователей просто нет времени на запоминание команд не только операционной системы, но ещё и каждого приложения. GUI позволяет выполнять основные операции, такие как получение помощи, сохранение или печать документов одним и тем же способом в любом приложении. Сложный набор команд может быть выполнен несколькими щелчками мыши по пиктограммам. Даже работа с сетями может полностью вестись через GUI. Единственное исключение в применении графического интерфейса – тонкая настройка системы и некоторых приложений: здесь ещё не все автоматизировано, и профессионалы часто обращаются к режиму командной строки.
Операционные системы являются неотъемлемой частью информационно-вычислительных комплексов. Такие комплексы могут выполнять весьма различные функции и могут быть по этому признаку разделены на некоторые классы.
Основной особенностью таких систем является строго регламентированное время отклика на внешние события. Другим важным параметром является одновременная обработка - даже если одновременно происходит несколько событий, реакция системы на них не должна запаздывать. Компьютеры для управления самолетами, ядерными реакторами и подобными сложными системами обычно работают под управлением специализированных операционных систем реального времени.
Операционные системы
Хорошим примером системы жёсткого реального времени является бортовая система управления самолётом. Среди систем с жёстким реальным временем можно выделить распространённую коммерческую операционную систему QNX, которая основывается на UNIX и имеет схожий интерфейс.
Необходимость использования систем мягкого реального времени характеризуется следующими признаками:
Операционные системы мягкого
реального времени могут
Такие системы работают на специфическом аппаратном обеспечении (автомобили, микроволновые печи, роботы) и удовлетворяют некоторым требованиям ко времени отклика системы. Как правило, в таких операционных системах применяются специфичные алгоритмы, минимизирующие потребляемые ресурсы. В настоящее время широкое распространение имеют операционные системы Windows Embedded фирмы Microsoft и различные версии операционной системы Linux.
Для решения очень сложных и объёмных вычислительных задач создаются специализированные компьютеры, содержащие сотни и тысячи процессоров. Для управления такими системами применяются специальные операционные системы, в которых особенно важны вопросы производительности и скорости обмена между элементами системы.
С момента расцвета сети Интернет нишу серверов (специализированных систем, предоставляющих по сети какой-то сервис клиентским системам) занимают универсальные многопользовательские многозадачные операционные системы. Для таких систем имеют большое значение стабильность работы, безопасность и производительность, меньшее - интерфейс пользователя.
Примерами таких систем могут служить: банковские системы, веб-серверы и серверы баз данных, файловые серверы масштаба предприятия, многопользовательские терминальные серверы. Традиционно этот класс систем обслуживается коммерческими операционными системами - различными версиями UNIX, операционными системами от компаний IBM, Novell, Sun, Microsoft. Сейчас все большую популярность в этом классе систем завоёвывают открытые свободнораспространяемые операционные системы.