Существуют и локальные операционные этого семейства для персональных компьютеров. Например: Linux, AIX, Solaris.

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

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

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

Операционная система для персонального компьютера содержит основные компоненты:

1. BIOS. Находится в ПЗУ системного блока. Является частью компьютера и, следовательно, компонентой любой операционной системы.

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

• Проверка исправности (тестирование) основных аппаратных средств при включении питания;

• Считывание из внешней памяти загрузчика операционной системы и передача ему управления;

НЕ нашли? Не то? Что вы ищете?

• Обеспечение автоматического обнаружения и подключения вновь установленных устройств;

• Выполнение обмена данными с внешними устройствами на физическом уровне ввода – вывода.

2. Блок начальной загрузки (Boot Record). Содержится в самом начале дисковой памяти. В начале этого блока находится служебная информация (фирма изготовления, версия системы, особенности данного диска), далее располагаются специальные программы, которые загружает в ОЗУ компоненты ядра операционной системы. Эта программа называется загрузчиком операционной системы.

3. Подсистема управления файлами. Поддерживает файловую систему, которая включает программы и файлы данных (например, FAT), необходимые для манипулирования файлами.

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

5. Подсистема управления драйверами и драйверы внешних устройств. Драйверы большинства устройств входят в состав операционной системы. Кроме этого, драйверы могут добавляться к операционной системе.

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

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

Вспомогательные (сервисные) программы

Программы упаковщики (архиваторы).

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

Наиболее распространенные архиваторы имеют приблизительно одинаковые возможности, и не один из них не превосходит другие одновременно по всем параметрам. Наиболее популярные: zip, rar, ace, lha, arj. Для них разработаны специальные оболочки, обеспечивающие их выполнение под управлением операционных систем. Например: WinZip, WinRar, WinAce для Microsoft Windows. Название архивных файлов имеют расширения, указывающий на архиватор. Обычно они совпадают (zip, rar, ace, arj). Есть исключения: направление у архивных файлов, созданных с помощью Lha расширение Lzh.

Вирусы и антивирусные программы.

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

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

Вирус может испортить любой файл, но заразить только файлы определенного типа:

1. Исполняемые файлы (файлы с программами) – их название имеет расширение exe, com. Вирусы, заражающие такие файлы, называются файловыми. Они наиболее распространены.

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

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

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

Наиболее распространенные антивирусные программы:

1. Детектор (сканер) – обнаруживает зараженные файлы. Сканер производит проверку заданной области файловой структуры. Требует ручного запуска и указания области проверки.

2. Доктор (фаг) – «лечит» зараженные файлы, т. е. уничтожает вирусы в файлах и помогает восстановить зараженные программы.

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

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

Программы обслуживания дисковой памяти.

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

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

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

• При удалении уничтожается только название файла в каталоге, а не информация.

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

4. Программы динамического сжатия. Автоматически сжимают информацию при записи на диск, а при считывании с диска восстанавливают её в первоначальном виде. За счёт этого существенно увеличивается объем информации, которой можно записать на диск.

Языки и системы программирования.

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

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

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

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

Они (алгоритм. яз.) обладают рядом свойств:

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

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

В связи с особенностями языков программирования существуют четыре важных этапа запуска программы на выполнение:

1. Трансляция – перевод текста программных модулей с алгоритмического языка на машинный.

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

3. Отладка программы – процесс нахождения и устранения ошибок в тексте программы.

4. Исполнение программы.

Для обеспечения этих этапов и предназначены системы программирования.

Они включают в себя следующие компоненты:

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

2. Трансляторы. Транслятор – это переводчик с языка, на котором написаны тексты программных модулей, на машинный внутренний язык. Два вида трансляторов:

Интерпретаторы. Интерпретатор обеспечивает построчный перевод текста программы на машинный язык и одновременное выполнение каждой команды этой программы. Интерпретатор автоматизирует все этапы запуска программы при выполнении.

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

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

4. Отладчик. Отладчик оказывает помощь в поиске различных ошибок в программе в процессе её выполнения. К таким, например, относятся: логические ошибки (попытка деления на ноль), а также ошибки, связанные с некорректностью входных данных.

Плюсы и минусы интерпретатора относительно компилятора.

Плюсы:

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

2. Файлы с такими программами занимают небольшой объем памяти, поскольку содержат лишь тексты.

Минусы:

1. Низкая скорость исполнения программы, поскольку во время её выполнения поводится синтаксический анализ каждой строки, перевод её на машинный язык и т. д.

2. Программа может выполняться только под управлением интерпретатора.

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

Уровни языков программирования.

Первый текстовый язык программирования Short Code и интерпретатор для этого языка был создан в конце 40-х годов ХХ века Джоном Моучли.

В 1951 г. Грей Хоппер создала первую в мире систему программирования с компилятором и редактором связей для этого языка. Она же ввела термины компилятор, подпрограмма, отладчик.

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

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

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4