Основы системного программного обеспечения. Основные элементы операционных систем (команды, утилиты).
Алгоритм - это точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели. Алгоритм, составленный для некоторого исполнителя, можно представить различными способами: с помощью графического или словесного описания, в виде псевдокодов, формул, или записанным на каком-либо языке программирования.
Наиболее популярным для решения задач на ЭВМ является графическая форма представления алгоритма в виде блок-схем. Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, что облегчает процесс написания программы, ее корректировки при возможных ошибках.
Алгоритм любой сложности может быть представлен комбинацией трех базовых структур:
· линейная;
· разветвляющая (альтернатива);
· циклическая.
Характерной особенностью этих структур является наличие у них одного входа и одного выхода.
Базовая структура "линейная" (следование) означает, что несколько операторов должны быть выполнены последовательно друг за другом и только один раз за время выполнения данной программы (рис. 1). Под оператором понимается формальная запись команды для выполнения некоторого действия.
Рисунок 1- Базовая структура «Линейная»
Базовая структура "разветвляющая" обеспечивает, в зависимости от результата проверки условия (истинна или ложь), выбор одного из альтернативных путей работы алгоритма (рис. 2).
Рисунок 2- Базовая структура «Разветвляющая»
Алгоритм, в состав которого входит базовая структура " альтернатива или разветвляющая", называется разветвляющимся.
Третья базовая структура "циклическая" обеспечивает повторное выполнение или, другими словами, циклическую работу операторов.
Различают три разновидности этой структуры:
· "цикл - пока" (рис. 3 а);
· "цикл - до" (рис. 3 в);
· Цикл с заданным числом повторений (рис. 3 с).
а) в) с)
а) – цикл - пока;
в) – цикл - до;
с) – цикл с заданным числом повторений.
Рисунок 3- Базовая структура «Циклическая»
Группа операторов, повторяющихся в цикле, называются телом цикла. Основное отличие структуры "цикл - пока" от структуры "цикл - до" заключается в том, что в первой структуре операторы тела цикла в зависимости от условия могут не выполняться совсем, тогда как в структуре "цикл - до" тело цикла будет выполняться хотя бы один раз. Можно заметить, что в структуре "цикл - пока" проверка выполнения условия осуществляется перед выполнением операторов тела цикла, а в структуре "цикл - до" - после прохождения тела цикла.
Цикл с заданным числом повторений обозначает повторение некоторых действий указанное число раз.
Циклы могут содержать внутри себя другие циклы. Такие структуры называются вложенными циклами. Алгоритмы, имеющие в своем составе базовую структуру "цикл", называются циклическими.
Реальные алгоритмы представляют собой совокупность всех рассмотренных базовых структур.
Основные свойства алгоритмов: дискретность, определенность, конечность, повторяемость и универсальность (массовость).
Дискретность означает, что выполнение алгоритма разбивается на последовательность законченных действий - шагов.
Определенностьозначает, что каждое правило алгоритма настолько четко и однозначно, что значения величин, получаемые на каком-либо шаге, однозначно определяются значениями величин, полученными на предыдущем шаге, и при этом точно известно какой шаг будет выполнен следующим.
Конечность(результативность) алгоритма предполагает, что его исполнение сводится к выполнению конечного числа шагов и всегда приводит к некоторому результату. Бесконечных алгоритмов не бывает.
Повторяемостьалгоритма предполагает, что при многократных расчетах с одними и теми же исходными данными результат должен повторяться.
Массовость(универсальность) означает, что алгоритм решения задачи разрабатывается в общем виде так, чтобы его можно было применить для множества задач одного класса, различающихся лишь набором исходных данных.
При блок-схемном описании алгоритм изображается различными геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий, проверка выполнения условия, ввод или вывод данных и др. Для каждого действия предусмотрена своя геометрическая фигура. В таблице 1 представлены основные блоки и их назначение.
Таблица 1. Основные блоки
Наименование | Обозначение | Функции |
Процесс | Выполнение операций, в результате которых изменяется значение, форма представления или расположение данных. | |
Ввод-вывод (данные) | Ввод данных в программу, или отображение (вывод) результатов работы программы на экране дисплея. | |
Условие (решение) | Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий. | |
Модификация | Отображает цикл. В блоке указываются начальное значение цикла, его шаг и условие окончания цикла. | |
Предопределённый процесс (подпрограмма) | Использование ранее созданных и отдельно написанных программ (подпрограмм). | |
Документ | Вывод данных на бумажный носитель. | |
Пуск (начало) | Начало процесса обработки данных (алгоритма). | |
Стоп (конец) | Конец (завершение) процесса обработки данных (алгоритма). | |
Соединитель (узел) | Указание связи между прерванными линиями, соединяющими блоки. N – номер связи. |
Основы системного программного обеспечения. Основные элементы операционных систем (команды, утилиты).
Основной частью системного программного обеспечения (ПО) является операционная система (ОС). ОС в наибольшей степени определяет облик всей вычислительной системы (ВС) в целом. ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него виртуальной машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.
ОС обеспечивает переход от «физического» уровня работы с аппаратурой ВС к более высокому «логическому» уровню, удобному для пользователя.
Операционная система – это комплекс программ, предназначенных для наиболее эффективного использования всех ресурсов ВС. ОС выполняет роль своеобразного интерфейса между пользователем и ВС. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных. ОС связывает аппаратное обеспечение и прикладные программы.
Наиболее важными частями операционной системы являются ядро ОС, файловая система, драйверы внешних устройств, загрузчик, системная библиотека.
Файловая система представляет собой способ организации хранения файлов в дисковой памяти. Тип файловой системы и организация хранения данных на носителях устройств внешней памяти (накопители на гибких и жестких магнитных дисках) определяют удобство работы пользователя, скорость доступа к файлам, организацию многозадачной работы, возможность создания хороших баз данных.
Существуют различные файловые системы. Например, в ОС МS DOS, Windows З.х и Windows 95/98 файловая система FAT (File Allocation Table–таблица размещения файлов) имеет структуру управляющей информации на носителе, включающую загрузчик (BOOT), таблицу размещения файлов (FAT) и корневой каталог (RDA).
В Windows NT используется файловая система NTFS (NT File System–файловая система NT), совместимая с файловыми системами FAT.
Файл может быть разделен на несколько частей, каждая из которых хранится на различных участках диска или на различных дисках. Имя каждого файла и основные сведения о нем хранятся в каталоге, который упрощает поиск и доступ к информации. В ОС Windows каталоги называются папками.
Каталог – это специальное место на диске, организованное для хранения имен файлов и сведений о них. Исходный каталог, в состав которого входят все остальные каталоги, называется корневым каталогом.
Все подкаталоги и файлы входят в состав главного корневого каталога. Вся эта разветвленная система образует иерархическую древовидную файловую структуру.
К системному ПО относятся также программы специального назначения (ПСН). К ним относятся драйверы устройств, антивирусные программы, программы утилиты, программные оболочки для работы с дисками, папками и файлами, программы архиваторы и др.
Драйверы - это программные утилиты, обслуживающие те или иные периферийные устройства, например дисплей, принтер, клавиатура и т.д. Обычно это небольшие программы в виде исполняемых файлов с расширением .COM или .EXE. Они получают команды от операционной системы и преобразуют их в команды конкретного устройства. Зачастую драйверы разрабатываются производителями аппаратного обеспечения, и компания Microsoft их напрямую не поддерживает.
Панель управления содержит обширную группу программных утилит для управления ПК и его периферийным оборудованием, а также для настройки Windows XP под требования конечного пользователя.
Ниже представлено окно панели управления:
Каждая пиктограмма панели управления управляет соответствующей утилитой, меняющей установки системы. При этом появляется то или иное диалоговое окно для установки тех или иных опций. Многие окна имеют переключатели для групп опций.
Прерывания - это сигналы, заставляющие процессор (CPU) компьютера приостановить выполнение текущей работы и перейти на выполнение программы, называемой обработчиком прерываний. Переход этот осуществляется за малое время с помощью специально разработанных аппаратных средств. Обработчик прерываний определяет причину прерывания, выполняет запланированные действия, после чего возвращает управление приостановленному процессу. Обычно прерывания вызываются событиями, внешними по отношению к CPU и требующими немедленных действий. К таким событиям относятся:
· завершение операции ввода-вывода;
· обнаружение аппаратного сбоя;
· катастрофы (например, отказ питания).
Семейство микропроцессоров Intel поддерживает 256 уровней приоритетных прерываний, вызываемых событиями трех типов:
· внутренние аппаратные прерывания;
· внешние аппаратные прерывания;
· программные прерывания;
Внутренние аппаратные прерывания, иногда называемые отказами, генерируются определенными событиями, возникающими в процессе выполнения программы (например, попыткой деления на нуль). Закрепление за такими событиями определенных номеров прерываний зашито в процессоре и не может быть изменено.
Внешние аппаратные прерывания инициируются контроллерами периферийных устройств. Источники сигналов прерываний подключаются либо к выводу немаскируемых прерываний процессора (NM1), либо к выводу маскируемых прерываний (INTR). Линия NM1 обычно предназначается для прерываний, вызываемых катастрофическими событиями (ошибка четности памяти, авария питания и т.д.). Каналы запросов прерывания (IRQ) или аппаратные прерывания используются различными устройствами для сообщения системной плате (процессору) о том, что должен быть обработан определенный запрос. Каналы прерываний представляют собой проводники на системной плате и соответствующие контакты в разъемах. Аппаратные прерывания имеют иерархию приоритетов: чем меньше номер прерывания, тем выше приоритет. Прерывания с более высоким приоритетом имеют преимущество перед прерываниями с более низкими приоритетами и могут «прерывать прерывания». В результате в компьютере может возникнуть несколько прерываний, вложенных друг в друга. При перегрузке компьютера из-за одновременного возникновения большого количества прерываний переполняется стек и ПК зависает. Каждому номеру аппаратного прерывания соответствует свой проводник. Системная плата не может определить, в каком слоте находится пославшая прерывание плата, поэтому возможно возникновение неопределенной ситуации в том случае, если несколько плат используют один канал. Чтобы этого не происходило, система настраивается так, что каждое устройство (адаптер) использует свою линию (канал) прерывания. Применение одной линии сразу несколькими разными устройствами в большинстве случаев недопустимо. Внешние аппаратные прерывания часто называют маскируемыми прерываниями, то есть их можно отключить «замаскировать» на время, пока CPU выполняет другие важные операции.
Программные прерывания - любая программа может инициировать программное прерывание просто путем выполнения команды INT.
Каналы прямого доступа (DMA) используются периферийными устройствами, осуществляющими высокоскоростной обмен данными с оперативной памятью без участия центрального процессора.
Через порты ввода-вывода к компьютеру можно подключать разнообразные устройства для расширения его возможностей. В большинстве компьютеров имеется хотя бы четыре USB порта, два последовательных COM порта и один параллельный LPT порт. Каждый порт в компьютере использует определенный адрес ввода-вывода. Этот адрес, хранящийся в основной памяти, зарезервирован для взаимодействия между устройствами ввода-вывода и операционной системой.
Файловый менеджер Total Commander – это, пожалуй, одна из самых удачных программ, которая была написана для Windows. Практически не изменяя свой внешний вид, она эволюционирует вместе с ОС Windows, оставаясь для многих системной утилитой номер один. Во многом, это большая заслуга тех программистов, которые смогли увидеть, насколько перспективным может оказаться принцип двухпанельного интерфейса файлового менеджера.
<== предыдущая лекция | | | следующая лекция ==> |
Алгоритмы. Основы разработки алгоритмов. Блок-схемы алгоритмов | | | БУДОВА І ПРИНЦИП РОБОТИ ГСТ-90 |
Дата добавления: 2015-04-01; просмотров: 2375;