Понятие файловой системы. Организация данных на магнитном носителе.

Понятие, назначение, функции операционной системы. Классификация операционных систем.

Классификация программного обеспечения для ПЭВМ

Программы – это упорядоченные последовательности команд. Конечная цель любой программы – управление аппаратными средствами.

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

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

ПО современных компьютеров включает множество разнообразных программ, которое можно условно разделить на три группы (рис. 3.1):

1. Системное программное обеспечение (системные программы);

2. Прикладное программное обеспечение (прикладные программы);

3. Инструментальное обеспечение (инструментальные системы).

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

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

ОС определяет производительность системы, степень защиты данных, выбор программ, с которыми можно работать на компьютере, требования к аппаратным средствам. Примерами ОС являются MS DOS, OS/2, Unix, Windows 9х, Windows XP.

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

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

Для организации более удобного и наглядного интерфейса пользователя с компьютером используются программныеоболочки операционных систем– программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера. К числу наиболее популярных оболочек относятся пакеты Norton Commander (Symantec), FAR (File and Archive manageR) (Е.Рошаль).

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

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

· антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения;

· программы оптимизации и контроля качества дискового пространства;

· программы восстановления информации, форматирования, защиты данных;

· программы для записи компакт-дисков;

· драйверы[1][1] – программы, расширяющие возможности операционной системы по управлению устройствами ввода/вывода, оперативной памятью и т.д. При подключении к компьютеру новых устройств необходимо установить соответствующие драйверы;

· коммуникационные программы, организующие обмен информацией между компьютерами и др.

Некоторые утилиты входят в состав операционной системы, а некоторые поставляются на рынок как самостоятельные программные продукты, например, многофункциональный пакет сервисных утилит Norton Utilities (Symantec).

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

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

Пакеты прикладных программ(ППП) – это специальным образом организованные программные комплексы, рассчитанные на общее применение в определенной проблемной области и дополненные соответствующей технической документацией. Различают следующие типы ППП:

· ППП общего назначения – универсальные программные продукты, предназначенные для автоматизации широкого класса задач пользователя. К ним относятся:

Текстовые редакторы (например, MS Word, Word Perfect, Лексикон);

Табличные процессоры (например, MS Excel, Lotus 1-2-3, Quattro Pro);

Системы динамических презентаций (например, MS Power Point, FreelanceGraphics, Harvard Graphics);

Системы управления базами данных (например, MS Access, Oracle, MS SQL Server, Informix);

Графические редакторы (например, Сorel Draw, Adobe Photoshop);

Издательские системы (например, Page Maker, Venture Publisher);

Системы автоматизации проектирования (например, BPWin, ERWin);

Электронные словари и системы перевода (например, Prompt, Сократ, Лингво,Контекст);

Системы распознавания текста (например, Fine Reader, Cunei Form).

Системы общего назначения часто интегрируются в многокомпонентные пакеты для автоматизации офисной деятельности – офисные пакеты – Microsoft Office, StarOffice и др.

· методо-ориентированные ППП, в основе которых лежит реализация математических методов решения задач. К ним относятся, например, системы математической обработки данных (Mathematica, MathCad, Maple), системы статистической обработки данных (Statistica, Stat).;

· проблемно-ориентированные ППП предназначены для решения определенной задачи в конкретной предметной области. Например, информационно-правовые системы ЮрЭксперт, ЮрИнформ; пакеты бухгалтерского учета и контроля 1С: Бухгалтерия, Галактика, Анжелика; в области маркетинга –Касатка, Marketing Expert; банковская система СТБанк;

· интегрированные ППП представляют собой набор нескольких программных продуктов, объединенных в единый инструмент. Наиболее развитые из них включают в себя текстовый редактор, персональный менеджер (органайзер), электронную таблицу, систему управления базами данных, средства поддержки электронной почты, программу создания презентационной графики. Результаты, полученные отдельными подпрограммами, могут быть объединены в окончательный документ, содержащий табличный, графический и текстовый материал. К ним относят, например, MS Works. Интегрированные пакеты, как правило, содержат некоторое ядро, обеспечивающее возможность тесного взаимодействия между составляющими.

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

К инструментальному программному обеспечению относят: системы программированиядля разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов, обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ), транслятор, а также библиотеки подпрограмм; инструментальные среды для разработки приложений, например, C++, Delphi, Visual Basic, Java, которые включают средства визуального программирования; системы моделирования, например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.

Транслятор (англ. translator – переводчик) – это программа-переводчик, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов, которые существенно различаются по принципам работы.

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

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

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

12. Системное программное обеспечение: состав и назначение

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

Состав системных программ

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

Базовое программное обеспечение (base software) — минимальный набор программных средств, обеспечивающих работу компьютера. Самый низкий уровень программного обеспечения. Отвечает за взаимодействие с базовыми аппаратными средствами и согласованием их работы. ПО этого уровня, как правило, хранятся в специальных микросхемах, называемых ПЗУ (Read Only Memory – ROM). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены на этапе эксплуатации. Если изменение базовых программ считается целесообразным технически, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства ППЗУ (Erasable Programmable Read Only Memory – EPROM). Тогда изменение содержания ПЗУ можно выполнять непосредственно в системе (флэш-технологии) или на специальных устройствах-программаторах. Программы низшего уровня (BIOS)[2] начинают работать в момент первичной загрузки компьютера. Обеспечивают аппаратно-программный интерфейс.

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

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

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

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

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

По числу параллельно решаемых на компьютере задачОС разделяют на:

однозадачные(например, MS DOS);

многозадачные(например, OS/2, UNIX, Windows 95 и выше).

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

По числу одновременно работающих пользователей:

однопользовательские (например, MS DOS, Windows 3.х);

многопользовательские(например, Unix, Linux, Windows 2000).

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других.

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

командного интерфейса (например, MS DOS);

 графического интерфейса (например,Windows).

На характеристики операционных систем, как правило, влияет специфика аппаратных средств, на которые она ориентирована. По типу аппаратуры различают операционные системы для персональных компьютеров различных платформ (IBM-совместимых, Apple Macintosh), мини-компьютеров, мэйнфреймов, кластеров и сетей ЭВМ. Среди этих типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные.

По числу разрядов адресной шиныкомпьютеров, на которые ориентирована ОС, операционные системы разделяют на16-ти (MS DOS), 32-х (Windows 2000) и 64-разрядные (Windows 2003, Windows 7).

На рынке операционных систем представлены разработки различных фирм, которые различаются ориентацией на аппаратные средства, решение определенного круга задач, потребности потребителя и пр. Можно выделить операционные системы, обладающие определенными общими чертами: один производитель, единый подход к организации и функционированию и пр., что позволяет классифицировать их по семействам и линейкам. Например, можно выделить такие семейства как Windows (Microsoft), Unix (различные разработчики), Solaris (Sun Microsystems) и другие. В семействе Windows принято различать линейку Windows 9.х (Windows 95, 98, Мillenium), Windows NT (Windows 2000, XP, 2003, Vista), Windows 7.

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

1. Файловая система (Файловая система предназначена для работы с информацией, хранящейся на внешних носителях.

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

2. Драйверы внешних устройств - специальные программы, управляющие работой внешних устройств.

3. Интерпретатор команд - осуществляет взаимодействие пользователя с компьютером: принимает и анализирует команды, введенные пользователем, и выполняет только корректные.

 

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

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

Функциональные возможности файловой системы можно условно разделить на группы:

1) функции для работы с файлами: создание, удаление, переименование, изменение атрибутов (свойств файлов), определение структуры файлов;

2) функции для работы с данными: чтение, запись, поиск данных, хранящихся в файлах и т.п.;

3) оптимизация операций ввода/вывода.

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

Основным атрибутом файла является его имя. Имя файла – это символьная строка, правила построения которой зависят от конкретной файловой системы. Например, в файловой системе FAT, используемой в MS DOS, длина имени файла не может превышать 11 символов[3][1], три из которых предназначены для расширения[4][2]. Расширение отделяется от имени точкой. Расширение имени файла является необязательным атрибутом и, как правило, информирует о типе данных, хранимых в файле, поэтому его иногда называют типом файла. Например, bat, com, exe – исполняемые файлы, для их выполнения можно указать только имя. Именно эти файлы могут быть «стартовыми» файлами компьютерных игр, текстовых редакторов и т.п.; txt – текстовые файлы.

Помимо имени атрибутами файла являются: текущий размер и максимальный размер файла; длина записи; время создания, последнего доступа и последнего изменения; владелец файла; создатель файла; пароль для доступа, признак «только чтение» и др.

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

Выделяют различные типы файловых систем, например, FAT, NTFS, CDFS.

1) Файловая система FAT (File Allocation Table) разрабатывалась для гибких дисков, и представляет собой таблицу размещения файлов MS DOS и Windows 9x. Существует несколько ее разновидностей FAT12, FAT16, FAT32. Система имеет низкую отказоустойчивость, и при отключении питания велика вероятность потери данных. Ее преимуществом является поддержка большинством ОС.

2) NTFS(New Technology File System), разработанная Microsoft специально для Windows NT, поддерживает длинные имена файлов (до 255 символов); гарантирует сохранность данных в случае копирования даже при программно-аппаратном сбое или отключении электропитания; превосходит FAT по скорости работы и по эффективности использования ресурсов; обеспечивает построение компьютерных систем от рабочей станции до сервера класса мэйнфреймов; предоставляет средства для разграничения доступа и защиты информации. NTFS в именах использует набор символов Unicode[5][3], автоматически для каждого файла генерирует поддерживаемое MS DOS имя (восемь плюс три символа), что дает возможность работать операционным системам MS DOS и OS/2 с файлами NTFS через сеть. Это особенно важно для файловых серверов сети, к которой подключены персональные компьютеры с этими операционными системами.

3) CDFS (Compact Disk File System) – специальную файловую систему для CD-ROM.

Физическая организация данных на носителе зависит от файловой системы. В качестве примера рассмотрим файловую систему FAT. Она предусматривает выделение в процессе форматирования диска специальных областей: системной и данных. Основными компонентами системной области являются: загрузочная запись; таблицы размещения файлов (FAT) (обычно их две – основная и копия) и корневой каталог. Область данных содержит файлы и подкаталоги.

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

Таблица FAT содержит сведения о номерах кластеров, в которых размещается файл. Наличие у каждого кластера индивидуального номера позволяет найти область расположения файла, причем необязательно, чтобы его кластеры располагались рядом. Если разные фрагменты файла располагаются в несмежных кластерах, то говорят о фрагментации файла.Каждый кластер файла содержит номер следующего в цепочке его кластеров. Таким образом, достаточно знать номер первого кластера в цепочке, который хранится в оглавлении диска, чтобы по таблице FAT определить номера всех кластеров, содержащих данный файл. Занимаемый файлом объем (<количество кластеров файла> * <размер кластера>) кратен количеству кластеров.

Каждый диск на компьютере имеет уникальное имя. Диски именуются буквами латинского алфавита. Обычно накопителям на гибких магнитных дисках (НГМД) присваиваются имена А: и В:, а винчестеру (НЖМД) – С:. Жесткий диск представляет собой физическое устройство. Для организации эффективной работы с дисковым пространством жесткого магнитного диска рекомендуется разбить его с помощью специальной программы форматирования на ряд разделов – логических дисков, каждый из которых рассматривается системой как отдельный диск и именуется последующими буквами латинского алфавита (D, E и т.д.).

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

Имена файлов и их атрибуты хранятся в каталоге. Если в каталоге хранится имя файла, то говорят, что этот файл находится в данном каталоге. Обращение к каталогу, если он не корневой, осуществляется по имени[6][4].

На каждом диске может быть несколько каталогов. В каждом каталоге могут присутствовать файлы и другие каталоги. В зависимости от файловой системы структура каталогов может быть древовидной, когда каталог может входить только в один каталог более высокого уровня (рис. 3.2а), и сетевой, когда каталог может входить в различные каталоги (рис. 3.2б). Сетевая структура реализована в Unix, древовидная – в ОС семейства Windows.

В Windows каталог называется папкой.С папками (каталогами) и файлами могут выполняться операции создания, удаления, копирования и перемещения, а также изменение их свойств и управление доступом.