ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.05.2023

Просмотров: 320

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

История операционных систем

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

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


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

Операционная система MS-DOS была стандартом около 15 лет, тем не менее её нельзя назвать удобной - неграфическая операционная система, использующая интерфейс командной строки. Это значит, что все команды надо набирать по буквам в специальной строке. Требовалось хорошо знать эти команды, помнить, как они записываются. Изучение операционной системы стало самостоятельной задачей, достаточно сложной для простого пользователя.

Когда-то MS-DOS выступила “посредником” между человеком и компьютером и помогла превратить сложные команды обращения к дискам в более понятные и простые, но по мере развития сама “обросла” изобилием команд и стала сдерживать работу с компьютером. Так возникла необходимость в новом посреднике – программа-оболочка. Одна из самых известных и распространенных во всём мире программ-оболочек Norton Commander. Ее разработал американский программист Питер Нортон, получивший всемирное признание за то, что упростил работу с компьютером для миллионов людей.

Программа-оболочка наглядно показывает на экране всю файловую структуру компьютера: диски, каталоги и файлы. С такой программой не надо набирать сложные команды MS-DOS в командной строке. Файлы можно копировать, перемещать, удалять, сортировать, изменять (редактировать, править), искать и запускать, пользуясь лишь несколькими клавишами. Просто, наглядно, удобно. Программа-оболочка сама “переводит” полученные команды в язык MS-DOS и вместо изучения сотен команд MS-DOS достаточно освоить нехитрые приемы работы с программой-оболочкой.

Работы над графической операционной системой для IBM PC в компании Microsoft начались еще в 1981 г., были сделаны несколько графических оболочек Windows 1.0, Windows 2.0, Windows 3.0, Windows 3.1 и Windows 3.11 для рабочих групп, которые запускались под управлением MS-DOS, то есть не были самостоятельными операционными системами. Поскольку с появлением Windows открылись новые возможности, все-таки принято называть Windows не оболочкой, а средой:

Многозадачность. Имеется возможность одновременно запускать несколько программ.


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

Единый интерфейс пользователя. Разобравшись с тем, как работает одна программа, написанная для Windows, нетрудно разобраться и с другой.

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

Единый аппаратно-программный интерфейс. Среда Windows взяла на себя все заботы по обеспечению совместимости разнообразного оборудования и программ.

Выпущенная в сентябре 1995 г. система Windows 95 стала первой (в широком смысле) графической операционной системой для компьютеров IBM PC. Ее повсеместное признание в качестве стандартной благоприятно сказалось на интересах конечных пользователей.

Производители программного обеспечения изготавливали узлы и приборы так, чтобы они были совместимы с Windows 95. Можно достаточно смело покупать новые устройства и устанавливать их в компьютер, рассчитывая на то, что все прочие устройства и программы будут работать нормально. Система Windows 95 ввела новый стандарт самоустанавливающихся устройств (plug&play), подключение таких устройств происходит автоматически. Операционная система сама “узнает”, что установлено в компьютере, и настраивается на работу с новым оборудованием.

Windows 95 обладала значительной гибкостью, позволяла использовать не только программы, написанные для этой системы, но и программы, написанные для операционной системы MS-DOS и для операционной среды Windows 3.1. Графический интерфейс пользователя позволял выполнить большинство операций различными способами.

Разумеется, за передовые возможности иногда приходится расплачиваться. Например, высокая гибкость Windows 95 иногда приводит к снижению надежности ее работы, поэтому эту систему не используют там, где надежность стоит на первом месте, например, в банковском деле. Другой недостаток системы состоит в том, что за многообразие ее возможностей приходится расплачиваться многими часами их изучения.

Операционная система Windows 98 выпушенная летом 1998 г. продолжает развитие Windows 95. Она отличается более высокой надежностью, улучшенным оформлением, наличием специальных средств для “самозалечивания” и саморазвития системы. Основное же отличие Windows 98 от Windows 95 состоит в том, что эта система особо ориентирована на работу с компьютерами, подключенными к всемирной сети Интернет. Стиль управления этой системой не имеет особых отличий от управления Windows 95, поэтому переход на Windows 98 с Windows 95 не вызывает никаких сложностей.


Загрузка операционной системы

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

Большинство компьютерных систем могут исполнять только команды, находящиеся в оперативной памяти компьютера, в то время как современные операционные системы в большинстве случаев хранятся на жёстких дисках, загрузочных CD-ROM, USB дисках или в локальной сети.

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

Решением данного парадокса является использование специальной компьютерной программы, называемой начальным загрузчиком, или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.

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

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


Загрузчик операционной системы:

  • обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать операционную систему для загрузки);
  • приводит аппаратуру компьютера в состояние, необходимое для старта ядра операционной системы (например, на не-x86 архитектурах перед запуском ядра загрузчик должен правильно настроить виртуальную память);
  • загружает ядро операционной системы (Ntoskrnl.exe в случае MS Windows) в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с жесткого диска. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);
  • формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);
  • передаёт управление ядру операционной системы.

Опишем процедуру, с помощью которой происходит загрузка с HDD IBM PC: BIOS производит чтение 512 байт первого сектора HDD (MBR) в ОЗУ по адресу 0x00007C00 (0x07C0:0x0000 в формате реального режима), затем прочитанному коду передаётся управление. Этот код читает и анализирует таблицу разделов жёсткого диска, а затем, в зависимости от вида загрузчика, либо передаёт управление загрузочному коду активного раздела жёсткого диска (см. Начальная загрузка компьютера), либо самостоятельно загружает ядро с диска (например, сетевого или съёмного) в оперативную память и передаёт ему управление. Первоначально загрузчик работает в режиме реальной адресации при отключенной адресной линии A20, что создает определенные трудности при написании загрузчиков.

Функции операционных системы

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

Рисунок 1. Многоуровневая схема вычислительной системы

Основные функции (простейшие операционные системы):

  • Загрузка приложений в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  • Управление оперативной памятью (распределение между процессами, виртуальная память).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
  • Пользовательский интерфейс.
  • Сетевые операции, поддержка стека протоколов.