Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Материал / Системное программное обеспечение

.htm
Скачиваний:
18
Добавлен:
30.04.2013
Размер:
82.75 Кб
Скачать

2.2 Системное программное обеспечение #login-form2r23r { Z-INDEX: 1; RIGHT: 0px; LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px } #login-form2r23r2 { Z-INDEX: 1; RIGHT: 0px; LEFT: 0px; WIDTH: 100%; POSITION: relative; TOP: 0px } GSpay - iatp merchant account provider. 2.2 Системное программное обеспечение Системное программное обеспечение координирует работу различных компонентов компьютера и играет роль посредника между прикладными программами и аппаратным обеспечением. Системное программное обеспечение, которое управляет работой компьютера, называется операционной системой - ОС (operating system – OS). К другому системному программному обеспечению относятся программы трансляции, преобразующие команды языков программирования в исполняемый машинный код, а также различные утилиты (utilities) – программы для обслуживания компьютера и периферийных устройств.

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

Итак, операционная система выполняет три основные функции:

распределяет (allocates) и назначает (assigns) использование ресурсов компьютера,

планирует (schedules) использование ресурсов компьютера и время исполнения задач,

осуществляет текущий контроль (monitoring) работы компьютера.

Распределение и назначение Операционная система распределяет ресурсы компьютера между приложениями, находящимися в очереди на исполнение. Например, в число задач операционной системы входит выделение отдельной области памяти каждому запущенному приложению и необходимым ему данным, а также управление устройствами ввода-вывода (клавиатурой, принтером, монитором, сетевой картой и т.п.). 

Планирование Как уже отмечалось, компьютер выполняет несколько программ одновременно. Каждая задача разбивается на множество "кусочков" или "порций", которые компьютер обрабатывает, переключаясь между задачами. Тысячи таких порций должны выполняться различными устройствами компьютера – одной программе необходимо произвести расчет электронной таблицы, второй – распечатать документ на принтере, третья обращается к серверу организации, на котором хранится база данных и т.д.  Задача ОС – скоординировать работу всех компонентов компьютера так, чтобы все приложения выполнялись как можно быстрее и эффективнее. Для этого операционной системе необходимо осуществлять планирование использования различных ресурсов компьютера (прежде всего, ЦП, ОЗУ и жесткого диска). Как правило, каждой задаче присваивается приоритет выполнения, в соответствии с которым и осуществляется планирование. Скажем, в нашем примере расчет таблицы может иметь более высокий приоритет, чем задание на печать. 

Контроль ОС контролирует работу компьютера. Она отслеживает стадии выполнения каждой задачи, а также может вести журнал учета – кто использует компьютер, какие программы были запущены, наблюдались ли случаи несанкционированного использования программ или данных. В любом случае, ОС любого компьютера – и мэйнфрейма и ПК – сама по себе очень большая программа. Поэтому в оперативной памяти всегда хранится лишь часть ОС, называемая ядром (kernel). Большая же часть ОС хранится на жестком диске. Когда какая-либо часть операционной системы необходима для выполнения данного приложения, эта часть подгружается с жесткого диска в ОЗУ. Диск, на котором хранится операционная система, называется системным (system disk). 

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

Многозадачность Многозадачность (multitasking) – механизм, позволяющий выполнять на компьютере несколько задач (tasks). В зависимости от вида компьютера, применяется несколько видов реализации этого механизма. Рассмотрим тот, который применяется в операционных системах микрокомпьютеров.

Рис. 2.2 Многозадачность.

В системах с поддержкой многозадачности компьютер используется более эффективно, благодаря возможности одновременной загрузки в память не одной, а нескольких программ.

Как показано на Рис. 2.2, система без поддержки многозадачности (слева) может выполнять только одно приложение в данный момент времени. Такой режим работы компьютера зачастую не позволяет полностью задействовать все его ресурсы – процессор может быть недогружен, большая часть оперативной памяти будет оставаться свободной, периферийные устройства будут ожидать команд ввода или вывода информации. В случае же применения механизма многозадачности (справа), можно запустить несколько приложений. Самое важное при реализации этого механизма – не позволять каким-либо двум приложениям одновременно задействовать одни и те же ресурсы компьютера – будь то ЦПУ, память или периферийные устройства. В случае с оперативной памятью применяется разделение ее адресного пространства на отдельные непересекающиеся области и выделение таких областей каждому запущенному приложению. Таким образом, получается, что каждая отдельная программа работает в отведенном ей кусочке памяти и не конфликтует с другими программами. С разделением ресурсов процессора дело обстоит иначе. Как уже упоминалось, процессор может выполнять только одну инструкцию за цикл. Чтобы программы, находящиеся в ОЗУ могли выполняться вместе, каждой из них выделяется определенный интервал времени работы процессора (около двух миллисекунд); при этом процессор переключается с одной программы на другую. Конечно, вам может показаться, что интервал времени ничтожно мал, но ведь процессор работает на уровне наносекунд и за две миллисекунды успевает выполнить немало работы. Пользователь не замечает, что компьютер обрабатывает все программы по очереди – ему кажется, что все запущенные приложения выполняются одновременно. Кроме того, каждой программе, как вы помните, назначается приоритет. В первую очередь обрабатываются команды программ с более высоким приоритетом; в случае равного приоритета инструкции приложений выполняются в порядке очередности; наивысший приоритет всегда имеет ядро операционной системы. Благодаря многозадачности, вы можете запустить web-браузер, а пока ваш модем выполняет операцию соединения с провайдером услуг Интернет, отредактировать сообщение электронной почты или распечатать отчет, выданный сервером баз данных вашей организации. При этом, скорее всего, операции выполнения соединения и программе, обрабатывающей вывод данных на печать, будет присвоен низкий приоритет, а редактору электронной почты – обычный. 

Многопоточность  Механизм многопоточности чем-то напоминает многозадачность. Чтобы еще более эффективно использовать ресурсы компьютера, некоторые задачи делятся на отдельные потоки, каждому из которых также назначается приоритет и выделяется интервал процессорного времени. В некоторых операционных системах такие процессы получили название нитей (threads). Благодаря многопоточности, вы можете в одном приложении, например в мультимедийном графическом редакторе, одновременно обрабатывать один объект, производить расчет траектории движения другого объекта и распечатывать третий. Кстати, многопоточность широко используется именно для печати. Чтобы не ждать, пока приложение обработает задание на печать, этот процесс выполняется в так называемом фоновом режиме (background printing).

Виртуальная память  Как известно, адресное пространство – это размер памяти компьютера, которую система может использовать. Если у вашего компьютера 64 Мб ОЗУ, значит, компьютер может адресовать 64 Мб памяти. Механизм виртуальной памяти (virtual storage) позволяет выделить часть вторичной памяти (на жестком диске), чтобы в дальнейшем система рассматривала эту часть как продолжение первичной. В результате компьютер может адресовать больше памяти. Применение этого механизма, также как многозадачности и многопоточности, позволяют добиться существенного повышения эффективности работы компьютера. Из-за того, что размер первичной памяти ограничен, часть программного кода каждой из программ записывается на жесткий диск в так называемый файл подкачки (swap file), освобождая, таким образом, оперативную память для других программ. Однако следует помнить, что жесткие диски намного медленнее ОЗУ, поэтому размер первичной памяти должен быть достаточно большим.

Симметричная многопроцессорная обработка  Симметричная многопроцессорная обработка (Symmetric MultiProcessing, SMP) – это способность операционной системы работать с компьютером, в котором установлены два и более процессора. Операционная система в данном случае должна обеспечивать балансировку нагрузки, чтобы дать работу каждому из процессоров. Механизм SMP может использоваться как при выполнении одной программы, так и нескольких приложений – в любом случае нагрузка распределяется равномерно.

Преобразование исходного кода При выполнении инструкций программ, написанных на таких языках программирования как COBOL, FORTRAN или C, компьютеру необходимо преобразовать удобные для человеческого восприятия операторы в форму, понятную для компьютера. Системное программное обеспечение включает специальную программу, транслирующую (translate) текст программ, написанных на различных языках программирования, в машинные коды, которые и выполняются компьютером. Этот вид программного обеспечения называется компилятором или интерпретатором. Текст программы, написанный на языке программирования высокого уровня, до того как быть преобразованным в машинные коды, называется исходным кодом (source code). Компилятор (compiler) преобразует исходный код в машинные коды, называемые объектным кодом (object code), то есть программой на выходном языке транслятора. Перед выполнением протекает процесс редактирования связей (linkage editing), когда модули выходной программы объединяются с другими модулями объектного кода, содержащими, например, данные. Результирующий загрузочный модуль – это команды, непосредственно выполняемые компьютером. На Рис. 2.3 показан процесс трансляции кода программы.

Рис. 2.3 Процесс трансляции кода программы.

Исходный код программы, состоящий из команд языка программирования высокого уровня, транслируется компилятором в объектный код, "понятный" компьютеру. Затем модуль объектного кода посредством редактора объединяется с другими модулями, после чего создается загрузочный модуль. Загрузочный модуль содержит команды в машинных кодах, которые и выполняет компьютер.

Некоторые языки программирования содержат не компилятор, а интерпретатор (interpreter), который преобразует каждое отдельное выражение исходного кода в машинные коды и сразу выполняет их. Интерпретатор удобен на этапе отладки программы, так как обеспечивает быструю обратную связь при обнаружении ошибки в исходном коде. В то же время, интерпретаторы очень медленны, так как они выполняют только один оператор за раз.

Графический интерфейс пользователя Интерфейс пользователя (user interface) – это средства взаимодействия компьютера с пользователем. Когда вы садитесь за руль автомобиля, настраиваете радиоприемник, программируете видеомагнитофон, задумываетесь ли вы о том, что все эти и многие другие привычные вещи имеют свой пользовательский интерфейс? Основное отличие компьютера от всех перечисленных вещей в том, что он намного сложнее любой из них и ваше общение с ЭВМ не может ограничиться стандартным набором некоторых операций. Одна из основных "обязанностей" операционной системы – обеспечивать и поддерживать диалог пользователя с компьютером, что и достигается с помощью пользовательского интерфейса.

У старых операционных систем, таких как DOS, интерфейс был построен на базе командной строки (command prompt). Для выполнения какой-либо операции, пользователю нужно было набирать в командной строке соответствующие команды. Например, чтобы удалить документ Текст, требовалось ввести следующую команду:

delete c:\Текст

Поскольку пользователю необходимо выполнять разные действия с программами и документами, нужно было помнить довольно много различных команд, причем у многих программ был еще и набор своих собственных команд. Разумеется, работу с компьютером такой интерфейс делал отнюдь не приятной.

Современные операционные системы обладают графическим пользовательским интерфейсом (Graphical User Interface, GUI). Каждый объект системы, будь то документ или программа, отображается графическим символом, называемым пиктограммой или значком (icon). Большинство команд выполняется с помощью мыши – с помощью курсора объект выделяется, а затем пользователь одним движением руки выполняет команду. К примеру, чтобы удалить документ, нужно просто выделить соответствующий ему значок, нажать левую клавишу мыши и переместить пиктограмму на значок Корзина (Recycle Bin). GUI помогает пользователю при использовании многозадачного режима – каждая запущенная программа отображается на экране в отдельной области – окне (window). Чтобы перейти из одного запущенного приложения в другое, достаточно просто щелкнуть мышью по любой части окна нужной программы. Многие GUI используют систему всплывающих экранных меню (pull-down menu) и дополнительные диалоговые окна, чтобы облегчить пользователю ввод команд и данных.

Сторонники GUI утверждают, что этот механизм позволяет сэкономить время обучения начинающих пользователей. С этим трудно не согласиться – часто у пользователей просто нет времени на запоминание команд не только операционной системы, но еще и каждого приложения. GUI позволяет выполнять основные операции, такие как получение помощи, сохранение или печать документов одним и тем же способом в любом приложении. Сложный набор команд может быть выполнен несколькими щелчками мыши по пиктограммам. Даже работа с сетями может полностью вестись через GUI. Единственное исключение в применении графического интерфейса – тонкая настройка системы и некоторых приложений: здесь еще не все автоматизировано, и профессионалы часто обращаются к режиму командной строки.

Операционные системы микрокомпьютеров Программное обеспечение микрокомпьютеров, как и других машин, разрабатывается с учетом применяемых операционных систем и аппаратного обеспечения. Сами операционные системы имеют ряд отличительных особенностей – таких как поддержка многозадачности, GUI и др.– которые определяют архитектору создаваемых для них приложений.

В Табл. 2.1 приведены некоторые характеристики некоторых наиболее распространенных ОС. Как видите, среди них нет ни одной операционной системы с чисто командным интерфейсом, и это неудивительно, так как эпоха интерфейсов, основанных на командной строке, медленно но верно уходит в прошлое.

Табл. 2.1 Популярные ОС

Название

Поддержка функций

Применение

Много-

задачность

Много-

поточность

GUI

SMP

Windows 98

Есть

Есть

Есть

Нет

ПК, рабочие станции

Windows 2000

Есть

Есть

Есть

Есть

ПК, рабочие станции, серверы, кластеры серверов

System 7

Есть

Есть

Есть

Нет

ПК Macintosh фирмы Apple

Unix

Есть

Есть

Есть

Есть

ПК, рабочие станции, серверы, кластеры серверов, миникомпьютеры

Linux

Есть

Есть

Есть

Есть

ПК, рабочие станции, серверы

Первые две строки таблицы занимают две ОС, в названии которых есть слово Windows (окна). Обе эти системы разработаны компанией Microsoft, признанным лидером в создании операционных систем и приложений. С них мы и начнем короткий обзор ОС для микроЭВМ.

Windows 98 (предыдущая версия – Windows 95), операционная система с удобным и достаточно мощным графическим интерфейсом, средствами многозадачности, многопоточности, поддержкой мультимедиа и работы в локальной сети и Интернет. Windows 98 поддерживает работу как с самыми современными, так и со старыми приложениями, написанными для операционных систем DOS (с интерфейсом командной строки) и Windows 3.xx (предшественницей Windows 95). Именно хорошая совместимость со старыми программами является в то же время слабым местом этой ОС – необходимость поддержки необходимых эти приложениям режимов работы ведет к частым сбоям компьютера. Кроме того, Windows 98 не поддерживает SMP, что делает невозможной ее применение в мощных рабочих станциях и серверах. Тем не менее, удачная рекламная и маркетинговая политика Microsoft, относительно невысокие требования к аппаратному обеспечению (процессор Pentium 100, объем ОЗУ 32 Мб), простота процедур установки и настройки, а также простой, интуитивно понятный интерфейс, обеспечили Windows 98 лидирующее место среди операционных систем – на сегодня она установлена на более чем 60% компьютеров. Однако сама Microsoft не рекомендует применение Windows 98 для сферы бизнеса и коммерции – эта система создавалась не для корпоративного, а для домашнего применения. Кроме отсутствия поддержки SMP, в ней также нет средств защиты от несанкционированного доступа, что резко снижает безопасность коммерческих и других бизнес-операций.

Windows 2000 – другая современная операционная система, разработанная Microsoft (см. Рис. 2.4). Существует две версии Windows 2000 - для ПК и рабочих станций предназначена Windows 2000 Professional, а для серверов – Windows 2000 Server. Наряду с поддержкой многозадачности, многопоточности, средств мультимедиа, работы с сетями практически любого масштаба и конфигурации, эта ОС отвечает всем современным требованиям надежности – в ней имеется поддержка кластеризации, создания RAID-массивов, защиты от несанкционированного доступа, современных методов шифрования информации на диске и сетевого трафика. Windows 2000 создана на базе Windows NT – предыдущей версии этой операционной системы. Аббревиатура NT расшифровывается new technology – новая технология. Действительно, эту ОС Microsoft пришлось создавать "с чистого листа" и ориентирована она на мощные корпоративные приложения. Этим объясняется и ее требовательность к аппаратным ресурсам – для работы Windows 2000 требуется более мощный процессор, чем для Windows 98 (по крайней мере, Pentium 266), более быстрый и емкий жесткий диск и не менее 64 Мб оперативной памяти. Поддержка старых приложений в Windows 2000 слабее, чем в Windows 98, но зато надежность гораздо выше. До выхода Windows 2000 многие пользователи испытывали трудности с установкой и настройкой Windows NT, что и создало перевес в сторону Windows 98. Однако, в Windows 2000 устранены эти недостатки. В дальнейшем Microsoft предполагает выпускать операционные системы только на базе Windows 2000.

Рис. 2.4 Так выглядит ОС Windows 2000

System 7 – операционная система для компьютеров Macintosh, весьма распространенных в США. Традиционно компьютеры фирмы Apple используются в издательской деятельности, поэтому System 7 оснащена хорошем GUI и поддержкой мультимедиа.

ОС UNIX разработана в Bell Laboratories в 1969 г. для миникомпьютеров, но в последствии была успешно перенесена на платформу микроЭВМ. Это мощная и очень надежная операционная система, которая применяется в основном в качестве ОС для серверов больших локальных сетей, кластеров серверов, серверов Интернет и серверов баз данных. Благодаря открытой архитектуре – возможности изменять исходный код ОС – UNIX может работать практически на любой аппаратной платформе. Именно этим объясняется большое количество различных модификаций UNIX (XENIX, IRIX и др.). Программисты, разрабатывающие приложения для UNIX, также придерживаются стандарта открытой архитектуры, что позволяет осуществлять перенос приложений, сделав небольшие изменения в исходном коде. Однако, UNIX очень сложна в установке, а еще больше – в настройке. Она еще требовательнее к аппаратным ресурсам, чем Windows 2000 и Windows NT. До недавнего времени у этой системы не было собственного графического интерфейса, но даже появление такового (XWindow, Рис. 2.5) не облегчило работу пользователям: все-таки, UNIX остается системой для инженеров и настоящих профессионалов.

Рис. 2.5 ОС UNIX с XWindow

Linux – самая молодая из описанных здесь операционных систем. Linux была разработана в 1991 году студентом Линусом Торвальдсом, и представляет собой UNIX-подобную ОС для микрокомпьютеров. Основное отличие Linux от UNIX в том, что Linux несколько проще и, самое главное, является абсолютно бесплатной – вы можете даже не приобретать в магазине CD-ROM с инсталляционной программой, а просто переписать установочный пакет из Интернет. Благодаря открытой архитектуре, которую Linux также поддерживает, свой вклад в дальнейшую разработку этой ОС внесли тысячи программистов всего мира. Сегодня Linux становится конкурентом операционных систем Microsoft, хотя процедура инсталляции и настройки еще далека до совершенства, а при использовании XWindow требования к аппаратному обеспечению становятся такими же, как и у Windows 2000.

Выбор операционной системы для персонального компьютера  Как фирме выбрать операционную систему для своих персональных компьютеров? Должно ли такое решение приниматься только на основании требований ОС к аппаратному обеспечению компьютера? Нужно ли принимать во внимание такие факторы как простота эксплуатации, обучения персонала, а также стоимость технической поддержки ОС? В этом коротком разделе называется несколько важных факторов, влияющих на принятие решения.

Если фирма нуждается в операционной системе для своих главных бизнес-приложений, ей, прежде всего, нужна система, совместимая с этими приложениями. ОС должна быть простой в использовании и установке. Пользовательский интерфейс должен быть простым и интуитивно понятным, что позволит не тратить много времени на обучение пользователей. Некоторые бизнес-приложения настолько важны, что не могут быть завершены аварийно (то есть с потерей данных), поэтому важно, чтобы система имела функции обеспечения надежности, защиты от сбоев и восстановления. Очень важно, чтобы ОС позволяла безопасно выгрузить из памяти "зависшее" приложение, не нарушая работу остальных запущенных программ. Поскольку бизнес-приложения часто работают с большими объемами данных, необходимо, чтобы ОС могла поддерживать устройства вторичной памяти большой емкости. Очень важный аспект при выборе ОС для организации – поддержка локальных и глобальных сетей. Сегодня, в условиях продолжающейся глобализации рынков, практически всегда необходимо, чтобы компьютеры могли работать в локальной сети организации или имели возможность подключения к сети через Интернет.

Важным показателем при выборе операционной системы является совокупная стоимость владения (Total Ownership Cost, TOC). TOC учитывает как затраты на приобретение самой операционной системы у поставщика ПО, так и затраты на инсталляцию, обучение пользователей, проведение профилактических мер по обеспечению нормальной работы ОС, управление и поддержку. Для уменьшения TOC разработчики операционных систем автоматизируют некоторые функции управления компьютерами организации, а также обеспечивают ОС полным набором программных инструментов диагностики и проверки производительности. Кстати, лидирующие позиции по показателю TOC занимают сситемы производства Microsoft.

В Окне Менеджмента рассказывается, как NASA выбирало ОС, исходя из своих требований к бизнес-операциям.

Окно Менеджмента NASA выбирает операционную систему Руководство Научного центра Лаборатории космических полетов NASA (Хантсвилль, Алабама) пришло к выводу, что выбор операционной системы – дело первостепенной важности. Центр, производящий реактивные установки для космических челноков, имеет персонал из 3500 работников, компьютеры которых подключены к сети. Персонал состоит из 2500 научных и 1000 административных работников (включая руководство и секретарей). Научные работники работают с сложными 32-битными приложениями, такими как системы автоматического проектирования (САПР), и поэтому используют мощные рабочие станции. Административным работникам для работы необходимы простые программы, в основном текстовые редакторы, поэтому у них компьютеры попроще.

Основной целью было улучшить средства коммуникации между научными и административными работниками, не вкладывая средств в новое оборудование. Основные требования к операционной системе включали:

1.Компьютеры должны работать в сети.

2.Работники (научные и административные) должны иметь возможность получать доступ к файлам сотрудников своих отделов, а также взаимодействовать с владельцами этих файлов.

3.Имена файлов должны быть понятны для всех сотрудников.

4.Операционная система не должна требовать для своей работы дорогостоящего оборудования. ОС должна удовлетворять нужды как научных, так и административных работников.

5.TOC должна быть по возможности низкой.

Руководство сконцентрировало внимание на двух операционных системах Windows 98 и Windows NT. Windows NT заменила прежнюю операционную систему, установленную на рабочих станциях и серверах, обеспечив высокую производительность для сетевых приложений. Компьютеры остальных пользователей были модернизированы для работы с Windows 98. Обе системы имеют схожий интерфейс, хорошо справляются как с запуском обычных, так и мощных приложений, с ними легко работать в сети. Кроме того, то, что обе системы разработаны одной компанией (Microsoft, Редмонд, Вашингтон), спасает от сбоев при взаимодействии их друг с другом в сети. Имена файлов в обеих системах могут состоять из 256 символов, что позволяет использовать для именования обычный английский язык, не прибегая к сокращенным названиям.

Windows NT оказалась достаточно мощной, чтобы работать даже с корпоративными приложениями, что позволило избежать закупок новой техники и сэкономить, таким образом, немало средств.

Подумайте:

Почему выбор операционной системы относится к важнейшим проблемам управления бизнесом?

Соседние файлы в папке Материал