Лекция Системное и служебное ПО

Лекция. Системное и служебное программное обеспечение. Операционные системы, файловая структура.

Программное обеспечение (software) – совокупность программ для ЭВМ и методических материалов по их применению.

По выполняемым функциям программное обеспечение (ПО) делится на системное (общее), прикладное (специальное) и обеспечивающее (вспомогательное).

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

Прикладное ПО – совокупность программ, обеспечивающих использование ЭВМ при решении частных задач, необходимых конкретным группам пользователей.

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

Служебное ПО (интерпретаторы, СУБД, специальные утилиты) занимает промежуточное место между системным и прикладным ПО. Оно функционирует в среде конкретного системного ПО и непосредственно не решает прикладных задач, а лишь обслуживает процесс исполнения прикладных программ.

По степени универсальности ПО разделяется на тиражные программы (предназначены для широкого распространения) и программы индивидуального назначения (предназначены для решения индивидуальных задач частных групп пользователей).

По способам распространения ПО делят на коммерческое (commercial), условно-бесплатное (shareware) и свободно распространяемое (freeware).

Коммерческое ПО создается и распространяется только на платной основе. Его легальное использование допустимо только в том случае, если пользователь приобрел право на использование соответствующего программного продукта. Условно-бесплатное ПО может использоваться бесплатно в течении установленного разработчиком срока. По истечении этого срока пользователь должен оплатить право на его применение или отказаться от использования программы. Свободно распространяемое ПО может использоваться бесплатно в течении любого срока.

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

Правовая основа охраны программных продуктов как объектов интеллектуальной собственности заложена в двух законодательных актах РФ: Законе РФ № 3523–1 от 23 сентября 1992 г. “О правовой охране программ для электронно-вычислительных машин и баз данных” и Законе РФ № 5352–1 от 9 июля 1993 г. (с последующими изменениями) “Об авторском праве и смежных правах”.

Они определяют, что программы для ЭВМ и базы данных относятся к объектам авторского права. Статья 146 УК РФ предусматривает ответственность за незаконное использование объектов авторского права в виде крупных штрафов или лишения свободы на срок до двух, а в особо тяжких случаях до пяти лет.

В развитых странах к нарушителям авторского права применяются еще более жесткие санкции. Несмотря на это нелегальное использование программ («пиратство») широко распространено в во всем мире. Особенно развито пиратство в развивающихся странах. По оценкам международных организаций нарушение авторских прав производителей программ наиболее развито в странах СНГ, Китае и Вьетнаме, где доля нелегально используемого ПО достигает 90% и более.

Для защиты программных продуктов от нелегального использования используются различные методы. Обычно они основаны на привязке установленной копии программы к конкретному компьютеру или к техническому носителю, с которого он был установлен. Например, в программные продукты — Microsoft Office XP и Microsoft Windows XP включена специальная технология защиты программного обеспечения — Microsoft Product Activation. Она позволяет технически ограничить число используемых рабочих копий продукта и исключить установку одной лицензионной копии на неограниченное число персональных компьютеров. При этом число установок и активаций на одном и том же персональном компьютере (ПК) не ограничивается.

Системное ПО

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

Операционная система (ОС) – это совокупность программ, обеспечивающих общее управление функционированием ЭВМ.

Основными функциями ОС являются:

управление работой устройств ЭВМ;

управление файловой системой;

взаимодействие с пользователем ЭВМ;

управление выполнением программ.

ОС – важнейший компонент программного обеспечения любой ЭВМ. Для каждого типа современных ЭВМ разработаны собственные ОС. На ЭВМ, имеющих сходную аппаратную платформу, могут использоваться несколько ОС. Например, на IBM-совместимых ПК могут применяться различные разновидности ОС Windows (95, 98, ME, NT, 2000, XP), Linux (различные версии Red Hat Linux, Lindows, Mandrake Linux, ASPLinux, ALTLinux и т.д.), OS/2, BeOS, DOS (MS DOS, DR-DOS, Caldera DOS, PTS DOS и т.д.), а также другие, менее распространенные ОС. На некоторых компьютерах могут применяться только определенные типы ОС. Например, с ПК фирмы Apple и совместимых с ними по аппаратной платформе могут применяться только различные версии ОС Mac OS. С другой стороны, поскольку разработка ОС является весьма трудоемкой и дорогостоящей, для разных типов ЭВМ могут использоваться одни и те же операционные системы. Например, несмотря на определенные различия в аппаратном обеспечении КПК фирм Palm, Sony, HandSpring, HandEra и ряда других производителей, все они используют ту или иную версию ОС Palm OS. КПК еще большего числа производителей используют ОС Pocket PC компании Microsoft.

Комплектация и варианты поставки ОС

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

Различают настольные и серверные ОС. Первые предназначены для эксплуатации на ЭВМ индивидуального, а вторые — на ЭВМ коллективного использования. По сравнению с настольными, серверные ОС имеют дополнительные компоненты, обеспечивающие поддержку работы множества пользователей компьютерной сети.

Например, ОС Windows 95, Windows 98, Windows Millenium Edition, Windows NT Workstation, Windows 2000 (Professional), Windows XP (Home, Professional Edition) являются настольными ОС. Они имеют все необходимое для обеспечения функционирования настольного ПК индивидуального использования, имеют средства для его подключения к компьютерной сети, но не могут в полной мере выполнять функции управления выделенным сервером. ОС Windows NT Server, Windows 2000 Server (Advanced Server, Datacenter), Windows Server 2003 (Standart, Enterprise, Datacenter, Web Edition) — серверные ОС, включающие набор инструментов для управления сетью с выделенным сервером.

ОС могут поставляться в «домашней» и профессиональной комплектации. Домашние комплектации (Home Edition) ориентирована, в первую очередь, для использования на домашних компьютерах и содержат больше инструментов для развлечений и проведения досуга. Профессиональные комплектации ориентированы на деловые приложения и обычно включают больше средств для обеспечения безопасного, надежного и производительного функционирования компьютера.

В комплект поставки ОС может входить большое число служебных и прикладных программ. Так, например, в состав любой поставки современных версий Windows обязательно входят программы для работы в Интернет, простые текстовые и графический редакторы, проигрыватель мультимедиа-файлов, игры и другие прикладные программы. В КПК, основанные на использовании Pocket PC (версия Windows для КПК), встроено множество прикладных программ: Pocket Word, Excel, Outlook, Internet Explorer, Media Player и т.д. Самое большое число прикладных программ входит в поставку различных дистрибутивов ОС Linux (офисные пакеты, средства разработки, игры, коммуникационные программы и т.д.). Поэтому, устанавливая ОС Linux, пользователь получает практически все необходимое для работы на ПК. Комплектация прикладных и служебных программ дистрибутива Linux существенно зависит от варианта поставки (стандартный, профессиональный, серверный).

Управление устройствами ЭВМ

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

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

Поскольку в современных ЭВМ может использоваться огромное число устройств самых разных модификаций, разработчики ОС не могут заранее предусмотреть все тонкости обмена данными с каждым конкретным устройством. Поэтому непосредственное взаимодействие с конкретным устройством ОС выполняет, обращаясь к называемому драйверу устройства.

Драйвер – это программа, обеспечивающая доступ к конкретным техническим или информационным ресурсам ЭВМ.

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

Таким образом, драйвер является посредником в “общении” ОС с конкретным устройством. Каждый производитель внешнего устройства обычно создает драйверы управления им для конкретных ОС. Практически все производители устройств, предназначенных для IBM-совместимых ПК, поставляют с ними драйверы для различных версий Windows. Драйверы устройств для других ОС поставляются намного реже и, как правило, их надо разыскивать самостоятельно. А иногда они вообще не существуют. В этом случае использовать устройство либо невозможно, либо крайне затруднительно.

Для упрощения процесса подключения новых устройств к ПК разработана технология Plug & Play (“подключи и используй”). Она позволяет ОС автоматически распознать подключение устройства к ЭВМ и начать работать с ним. Обнаружив новое устройство, ОС пытается подыскать к нему подходящий драйвер, и автоматически или по запросу к пользователю устанавливает его.

Использование многоступечатой схемы взаимодействия прикладная программа  ОС  драйвер  устройство, позволяет оградить прикладную программу и ОС от «знания» множества технических деталей особенностей взаимодействия с каждым конкретным устройством.

Управление файловой системой

С точки зрения ОС все данные, хранящиеся на устройствах долговременной памяти ЭВМ, являются файлами.

Файл – это именованная совокупность данных.

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

Файловая система – совокупность файлов, размещенных на технических носителях в соответствии с определенным набором правил.

Для размещения данных на различных видах носителей используются различные виды файловых систем. Наибольшее их число используется для хранения данных на НЖМД. Различные ОС поддерживают работу с разным числом файловых систем. Так, например, файловая система FAT (FAT16) — поддерживается всеми ОС для IBM-совместимых ПК. Файловая система FAT32 поддерживается всеми версиями Windows, начиная с Windows 95 OSR2. Файловая система NTFS поддерживается только в Windows NT, 2000, XP. ОС Linux поддерживает около 50 файловых систем, в том числе и все файловые системы, используемые в Windows. Для размещения данных на компакт-дисках используется файловая система CDFS, поддерживаемая всеми современными ОС.

При размещении информации на НЖМД одновременно может использоваться несколько файловых систем. Это обеспечивается благодаря тому, что один физический диск может содержать один или несколько логических дисков (C, D, E, F и т.д.).

При подготовке к работе НЖМД специальными программами может быть разделен на один или несколько основных разделов и один расширенный раздел. Основной раздел содержит один логический диск, а расширенный может содержать несколько логических дисков.

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

Логический диск C: ассоциирован с одним из основных разделов (если их несколько). Остальные логические диски размещаются в расширенном разделе.

За счет разбиения физического диска на несколько логических дисков на одном ПК может использоваться несколько ОС и несколько файловых систем. Но можно и на одном логическом диске держать несколько ОС. Обычно ОС загружается из основного раздела (DOS, Windows 9х, ME). Другие ОС для ПК могут загружаться с логических дисков расширенного раздела.

Для того чтобы загрузить ОС из другого основного раздела нужно сделать его активным. Это выполняется программой fdisk или специальными менеджерами загрузки.

Менеджер загрузки – программа, стартующая при загрузке ПК и позволяющая выбрать загружаемую ОС.

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

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

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

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

Разные файловые системы обеспечивают разный уровень ограничения доступа к файлам. В FAT и FAT32 уровень защиты низкий. Намного более эффективные способы защиты файлов предоставляет файловая система NTFS. Свои эффективные, высоконадежные файловые системы поддерживаются также в ОС Linux.

Взаимодействие с пользователем ЭВМ

Взаимодействие ОС с пользователем ЭВМ осуществляется в диалоговом или пакетном режиме с помощью интерфейса командной строки или на основеграфического интерфейса.

Взаимодействие в режиме командной строки предполагает, что пользователь вводит команды на командном языке ОС с клавиатуры, а ОС интерпретирует (анализирует) описание команды и ее параметров и исполняет ее. Интерфейс командной строки был характерен для старых ОС. Команды ОС (в том числе и вызовы прикладных программ) могут объединяться в отдельные программы (командные файлы). ОС исполняет такие программы как единое целое. В этом случае говорят о пакетном режиме исполнения команд.

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

В DOS использовался примитивный командный язык. В различных разновидностях ОС Unix могут использоваться разные, в том числе довольно мощные командные языки. В Windows, начиная с версии 98, в качестве командного языка может использоваться как командный язык DOS, так и языки VBScript и JScript.

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

Современные ОС имеют единые правила графического интерфейса для всех программ, предназначенных для применения в их среде. Единый графический интерфейс предполагает, что:

программы запускаются в единообразных окнах, с которыми можно выполнять единообразные действия (перетащить, изменить размер, закрыть, свернуть);

окна имеют стандартные наборы управляющих элементов (метки, поля ввода, списки нескольких видов, кнопки, пиктограммы и др.);

во всех программах используется единообразное меню;

программы имеют стандартное построение справочной системы;

для обмена данными между программами применяется стандартное средство — буфер промежуточного хранения.

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

Средствами ОС унифицируются также способы представления используемых программами наборов символов (шрифтов).

Шрифт – это комплект символов, оформленных в соответствии с едиными требованиями.

Основными характеристиками шрифта являются гарнитура (рисунок), начертание (прямой, курсивный, жирный, жирный курсив) и кегль (размер символов).

В общем случае шрифты делятся на масштабируемые и немасштабируемые. В немасштабируемых шрифтах для каждого размера каждого символа задается отдельное поточечное изображение. В масштабируемых шрифтах задается рисунок символа одного размера, а изображения того же символа других размеров рассчитываются по формулам. В Windows используются, главным образом, масштабируемые шрифты TrueType. При создании шрифтов стремятся к выполнению принципа WYSIWYG - What You See Is What You Get (Что видишь на экране, то и получаешь при распечатке). Однако точного соответствия удается достичь не всегда, поскольку принтеры имеют более высокое разрешение, чем экран монитора.

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

Управление выполнением программ

Средствами ОС обеспечиваются:

запуск программ;

разделение технических и информационных ресурсов между программами;

организация межпрограммного взаимодействия.

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

В однозадачных ОС (MS DOS, PC DOS, PTS-DOS, CP/M и др.) одновременно может выполняться только одна программа. Выполнение другой программы может начаться (продолжиться) только после завершения программы, выполняющейся в текущий момент. В многозадачных ОС (Windows 9x, ME, Mac OS) одновременно могут исполняться несколько программ. Многопользовательские ОС являются многозадачными, но дополнительно к этому имеют средства для разделения ресурсов не только между программами, но и различными пользователями. Например, они могут запретить программе, запущенной одним пользователем, обращаться к файлам, доступным только другим пользователям. К многопользовательским ОС относятся серверные модификации Windows NT/2000/XP, Novell Netware, почти все разновидности UNIX и многие другие ОС.

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

ОС обеспечивает разделение ресурсов ЭВМ между загруженными программами. Разделяются:

время использования процессора;

оперативная память;

возможности доступа к внешним устройствам;

возможности доступа файлам.

При запросах программ на доступ к одному и тому же объекту (устройству, файлу) ОС выстраивает запросы в очередь в порядке поступления и с учетом «приоритета программ.

Приоритет программы - характеристика значимости программы с точки зрения ОС или пользователя ЭВМ.

Современные прикладные программы предъявляют высокие требования к объему необходимой им оперативной памяти. Вследствие этого физический (реальный) объем памяти часто оказывается меньше совокупной потребности параллельно исполняемых программ. Поэтому современные ОС обеспечивают работу с виртуальной памятью.

Принцип работы виртуальной памяти таков. ОЗУ условно разделяется на страницы. Часть страниц размещается в реальной памяти, а часть — на диске. Если программа обращается к странице памяти, которая находится на диске, то ОС выгружает ненужные в данный момент страницы из реальной памяти на диск и загружает на это место нужные страницы с диска.

ОС обеспечивают обмен данными между прикладными программами.

В общем случае обмен данными может производиться:

через специальные файлы обмена (одна программа выгружает, а другая считывает данные);

через совместно используемые файлы общей базы данных;

через буфер промежуточного обмена;

c помощью высокоуровневых технологий межпрограммного обмена (DDE, OLE-automation, ODBC и др.)

Последние два способа организации обмена данными реализуются непосредственно программами ОС.

ОС обеспечивает не только обмен данными, но и возможности межпрограммного взаимодействия, при котором одна программа может вызывать другую для выполнения несвойственных ей функций. Взаимодействие прикладных и служебных программ с ОС обеспечивается за счет поддержки интерфейса прикладных программ (API — Application Program Interface). Правила организации вызовов функций ОС описываются в специальной документации и могут использоваться при разработке прикладных программ.

В Windows организация межпрограммного взаимодействия прикладных программ реализуется через технологии ActiveX, COM (Component Object Model, компонентная объектная модель программ), DCOM (Distributed COM, распределенная объектная модель). COM и DCOM определяют принципы построения прикладных программ, при которых те или иные функции одних программ могут вызываться из других. При этом программы, поддерживающие DCOM, могут исполняться на разных компьютерах сети.

Служебное ПО

Программы, расширяющие возможности ОС и предоставляющие пользователям дополнительный сервис по управлению ЭВМ часто называют служебным ПО.

Основными разновидностями такого рода программ являются:

Файловые утилиты (файловые менеджеры, архиваторы и др.);

Программы тестирования и диагностики оборудования компьютера;

Программы, обеспечивающие дополнительный сервис при администрировании и конфигурировании ОС;

Программы, обеспечивающие передачу данных между компьютерами сети;

Программы, обеспечивающие унифицированный интерфейс взаимодействия компьютерных систем (middleware);

Программы, реализующие функции защиты информации и борьбы с компьютерными злоупотреблениями (средства шифрования и ограничения доступа к данным; средства защиты локальных сетей от доступа извне (firewall); средства антивирусной защиты).