Описание операционной системы

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

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 10.12.2015
Размер файла 102,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Лекция №1. Введение в предмет

Оглавление

1. Определение ОС

2. История возникновения ОС

2.1 Аппаратная платформа

2.2 Процессор

2.3 Архитектура процессора

2.4 Регистры

2.5 Рассмотренные и используемые термины

3. Структура ОС

3.1 Структура вычислительной системы

3.2 Что такое ОС

3.2.1 Загрузчик

3.2.2 Операционная система как виртуальная машина

3.2.3 Операционная система как менеджер ресурсов

3.2.4 Основные задачи ОС

3.2.5 Операционная система как средство обеспечения безопасности пользователей и программ

3.2.6 Операционная система как постоянно функционирующее ядро

Заключение

1. Определение ОС

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

Примеры ОС:

Семейство WINDOWS

UNIX

Linux

Android

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

Теперь компьютеры выполняют и другие задачи:

- облегчить общение,

-удовлетворить любопытство, потребность в игре, развлечении
- ориентация на местности

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

Поэтому бегло просмотрим историю развития компьютеров.

операционный система вычислительный программа

2. История возникновения ОС

До того, как появилась необходимость в ОС, были разработаны сами компьютеры.

Началось это давно.

Предыстория

1673 год. Готфрид Вильгельм Лейбниц (Gottfried Wilhelm Leibniz, 1646-1716) создает «пошаговый вычислитель» - десятичное устройство для выполнения всех четырех арифметических операций над 12-разрядными десятичными числами. Результат умножения представлялся 16 цифрами. В устройстве использовались зубчатые колеса и ступенчатый валик.

1786 год. Немецкий военный инженер Иоганн Мюллер (Johann Mueller,1746-1830) выдвигает свою идею «разностной машины» - специализированного калькулятора для табулирования логарифмов, вычисляемых разностным методом.

Калькулятор, построенный на ступенчатых валиках Лейбница, получился достаточно небольшим (13 см в высоту и 30 см в диаметре), но при этом мог выполнять все четыре арифметических действия над 14-разрядными числами.

1832 год. Английский математик Чарльз Бэббидж (Charles Babbage, 1792-1871) создает сегмент разностной машины, оперирующий 16-разрядными числами и разностями второго порядка. Разностная машина Бэббиджа по идее аналогична калькулятору Мюллера.

1834 год. Пер Георг Шутц (Per George Scheutz,1785-1873) из Стокгольма, используя краткое описание проекта Бэббиджа, создает из дерева небольшую разностную машину.

Нулевое поколение.

1937 год. Джорж Стибитц (George Stibitz, 1904-1995) из Bell Telephone Laboratories демонстрирует первый однобитовый двоичный вычислитель на базе электромеханических реле.

1937 год. Алан Тьюринг (Alan M. Turing, 1912-1954) из Кембриджского университета публикует статью, в которой излагает концепцию теоретической упрощенной вычислительной машины, в дальнейшем получившей название машины Тьюринга.

1938 год. Клод Шеннон (Claude E. Shannon, 1916-2001) публикует статью о реализации символической логики на базе реле.

1938 год. Немецкий инженер Конрад Цузе (Konrad Zuse,1910-1995) строит механический программируемый вычислитель Z1 с памятью на 1000 бит. В последнее время Z1 все чаще называют первым в мире компьютером.

1939 год. Джордж Стибитц и Сэмюэль Вильямс (Samuel Williams,1911-1977) представили Model I - калькулятор на базе релейной логики, управляемый с помощью модифицированного телетайпа, что позволило подключаться к калькулятору по телефонной линии.

Более поздние модификации допускали уже и определенную степень программирования.

1941 год. Цузе создает электромеханический программируемый вычислитель Z3. Вычислитель содержит 2600 электромеханических реле. Z3 - это первая попытка реализации принципа программного управления, хотя и не в полном объеме (в общепринятом понимании этот принцип еще не был сформулирован). В частности, не предусматривалась возможность условного перехода. Программа хранилась на перфоленте. Емкость памяти составляла 64 22-битовых слова. Операция умножения занимала 3-5 с.

1943 год. Группа ученых Гарвардского университета во главе с Говардом Айкеном (Howard Aiken,1900-1973) разрабатывает вычислитель ASCC Mark I - первый программно-управляемый вычислитель, получивший широкую известность. Длина устройства составила 18 м., а весило оно 5т. Машина состояла из множества вычислителей, обрабатывающих свои части общей задачи под управлением единого устройства управления. Это был прототип процессора.

Команды считывались с бумажной перфоленты и выполнялись в порядке считывания. Данные считывались с перфокарт. Вычислитель обрабатывал 23-разрядные числа, при этом сложение занимало 0,3 с., умножение - 4с., а деление - 10с.

1945 год. Цузе завершает Z4 -улучшенную версию вычислителя Z3. По архитектуре у Z4 очень много общих черт с современными ВМ: память и процессор представлены отдельными устройствами, процессор может обрабатывать числа с плавающей запятой и, в дополнении к четырем основным арифметическим операциям, способен извлекать квадратный корень. Программа хранится на перфоленте и считывается последовательно.

До 1945 не было выделено устройство, которое называлось бы - процессор. Ещё не определились точно назначения блоков.

Так всегда бывает с новыми направлениями исследований и разработок.

Защита исследователя:

Нападение: программа не совершенна. Ответ - нет в мире совершенства, всё новое развивается постепенно и цивилизация - преемственность знаний.

Наше утешение: Обычно о несовершенстве новых технологий говорят те, кто никогда ничего нового не изобретал и идёт по проторенному пути.

Первое поколение (1937-1953)

На роль первой в истории электронной вычислительной машины претендовало несколько разработок. Общим у них было использование схем на базе электронно- вакуумных ламп вместо электромеханических реле.

Первой электронной вычислительной машиной чаще называют специализированный калькулятор АВС (Atanasoff-Berry Computer). разработан он был в период с 1939 по 1942 год профессором Джоном Атанасовым (John V. Atanasoff,1903-1995) совместно с аспирантом Клиффордом Бери(Clifford Berry, 1918-1963) и предназначался для решения системы линейных уравнений (до 29 уравнений с 29 переменными).

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

Вторым претендентом на первенство считается вычислитель Colossus, построенный в 1943 году в Англии в местечке Bletchley Park близ Кембриджа.

Изобретателем машины был профессор Макс Ньюмен (Max Newman,1987-1984), а изготовил его Томми Флауэрс (Tommy Flowers, 1905-1998). Colossus был создан для расшифровки кодов немецкой шифровальной машины «Лоренц Шлюссель - цузат-40».

В состав команды разработчиков входил также Алан Тьюринг. Машина была выполнена в виде восьми стоек высотой 2,3 м. , а общая ее длина составляла 5,5 м. в логических схемах машины и в системе оптического считывания информации использовалось 2400 электронных ламп, главным образом тиратронов. Информация считывалась с 5 вращающихся длинных бумажных колец со скоростью 5000 символов/сек.

Наконец, третий кандидат на роль первой электронной ВМ - уже упоминавшийся программируемый электронный калькулятор общего назначения ENIAC (Electronic Numerical Integrator and Computer - электронный цифровой интегратор и вычислитель).

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

ENIAC весил 30 тонн, содержал 18000 радиоламп, имел размеры 2,5 * 30 м. и обеспечивал выполнение 5000 сложений и 360 умножений в секунду. Использовалась десятичная система счисления. Программа задавалась схемой коммутации триггеров на 40 наборных полях.

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

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

С первой задачей в рамках проекта водородной бомбы ENIAC справился за 20 с., в противовес 40 часам, которые понадобились бы при использовании механических калькуляторов.

Но основное событие, произошедшее в этот период, связано с именем Джона фон Неймана. Американский математик Джон фон Нейман (John von Neumann,1903-1957) принял участие в проекте ENIAC в качестве консультанта.

Еще до завершения ENIAC Эккерт, Мочли и фон Нейман приступили к новому проекту - EDVAC, главной особенностью которого стала идея хранимой в памяти программы.

Технология программирования в рассматриваемый период только начиналась. Первые программы составлялись в машинных кодах - числах, непосредственно записываемых в память ВМ.

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

В 1947 году под руководством С.А. Лебедева начаты работы по созданию малой электронной счетной машины (МЭСМ). Эта ВМ была запущена в эксплуатацию в 1951 году и стала первой электронной ВМ в СССЗ и континентальной Европе.

В 1952 году Эккерт и Мочли создали первую коммерчески успешную машину UNIVAC. Именно с помощью этой ВМ было предсказано, что Эйзенхауэр в результате президентских выборов победит Стивенсона с разрывом в 438 голосов (фактический разрыв составил 442 голоса).

В апреле 1953 года в эксплуатацию поступила самая быстродействующая в Европе ВМ БЭСМ (С.А. Лебедев). Ее быстродействие составило 8000-10000 операций/с. Примерно в то же время выпущена ламповая ВМ «Стрела» (Ю.А. Базилевский, Б.И. Рамееев) с быстродействием 2000 операций/с.

В Минске в это время разрабатывалась машина Луч. Но нас быстро прикрыли.

Второе поколение (1954 - 1962)

Второе поколение характеризуется рядом достижений в элементной базе, структуре и программном обеспечении. Главное отличие - переход от электронных ламп к полупроводниковым диодам и транзисторам со временем переключения порядка 0,3 мс.

Во втором поколении стала использоваться на магнитных сердечниках.

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

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

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

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

Третье значимое нововведение в архитектуре ВМ - появление в составе вычислительной машины процессоров ввода/вывода, позволяющих освободить центральный процессор от рутинных операций по управлению вводом/выводом и обеспечивающих более высокую пропускную способность тракта «память - устройство ввода/вывода» (УВВ).

Шестидесятые годы ХХ века стали периодом бурного развития вычислительной техники в СССР. За этот период разработаны и запущены в производство вычислительные машины «Урал-1», «Урал-4», «Урал-11», «Урал-14», БЭСМ-2, М-40, «Минск-1», «Минск-2», «Минск-22», «Минск-32».

В сфере программного обеспечения, тоже шло развитие: создавались языки программирования высокого уровня: Фортрана(1956), Алгола(1958) и Кобола(1959).

Структурные схемы для 1 и 2-го поколений были похожи.

Рассмотрим типичную схему таких ЭВМ.

Основными устройствами являлись:

- управления (УУ);

- арифметико-логические устройства (АЛУ);

- оперативные запоминающие устройства (ОЗУ);

- периферийные устройства (ПУ);

- пульт оператора.

УУ и АЛУ - это Процессор. Каждое ПУ подключалось непосредственно к ОЗУ и Процессору через нестандартные кабели связи.

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

Здесь уже появились управляющие программы, а когда машины смогли выполнять по несколько программ одновременно(но это - уже третье поколение), то и операционные системы.

Третье поколение (1963-1972)

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

В области программного обеспечения определяющими вехами стали первые операционные системы и реализация режима разделения времени.

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

Революционной вехой в истории ВТ стало создание семейства вычислительных машин IBM 360, архитектура и программное обеспечение которых на долгие годы служили эталоном для последующих больших универсальных ВМ.

В машинах этого семейства нашли воплощение многие новые для того периода идеи, в частности:

предварительная выборка команд,

отдельные блоки для операций с фиксированной и плавающей запятой,

конвейеризация команд,

кэш-память.

Среди вычислительных машин, разработанных в этот период в СССР, прежде всего необходимо отметить «быстродействующую электронно-счетную машину» - БЭСМ-6 (С.А. Лебедев) с производительностью 1 млн. операций/с.

На ВЦ ИМ АН БЭСМ 6 работала до 1993 года. Это была очень красивая машина с огромным набором периферийных устройств.

В ИМ была сеть между корпусами, в нее входили машины с разными платформами и общим дисковым пространством.

В сфере программного обеспечения необходимо отметить создание в 1970 году Кеном Томпсоном (Kenneth Thompson) из Bell Labs языка В, прямого предшественника популярного языка программирования С, и появление ранней версии операционной системы UNIX.

Основными устройствами этих ЭВМ являются:

1) Процессор;

2) ОЗУ;

3) Байт мультиплексный канал (БТК);

4) Блок мультиплексного канала (БЛК);

5) Селекторный канал (СК).

Функция каналов - управлять вводом-выводом. Процессор запускает работу канала, он запускает ввод-вывод и работает дальше.

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

Когда появились ПК - это было потеряно, они дорастают до этого только сейчас. Такая петля развития.

2.1 Аппаратная платформа

Для нас основное здесь - процессор, т.к. ОС работает с ним наиболее плотно, да и он занимает центральное место в структуре компьютера.

2.2 Процессор

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

2.3 Архитектура процессора

Упрощенная структурная схема процессора состоит из:

- арифметико-логического устройства(АЛУ),

- блока регистровой памяти,

- блока связи с ОЗУ(ОП),

- устройства управления (УУ)

- блока управляющих регистров.

АЛУ выполняет все логические и арифметические операции над операндами.

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

Блок связи с ОП (интерфейс процессора) организует обмен информацией процессора с ОП и защиту ОП от несанкционированного доступа.

УУ выполняет последовательность управляющих сигналов, инициирующих выполнение отдельных команд.

2.4 Регистры

Блок управляющих регистров предназначен для хранения управляющей информации.

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

- регистры, хранящие информацию о состоянии процессора,

- регистры запросов прерывания,

- счетчики тактов,

- счетчики команд и т д.

Например, счетчик команд служит для определения адреса команды, которую в данный момент времени процессор читает из ОП.

Для линейных участков программы этот адрес вычисляется в счетчике команд путем сложения адреса предыдущей команды, который находится в счетчике с числом, равным количеству байт предыдущей команды.

Регистр процессора -- блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора;

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

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

Существуют также так называемые регистры общего назначения (РОН), представляющие собой часть регистров процессора, использующихся без ограничения в арифметических операциях, но имеющие определенные ограничения, например в строковых. РОН, не характерные для эпохи мейнфреймов типа IBM/370[1] стали популярными в микропроцессорах архитектуры X86 -- i8085, i8086 и последующих[2].

Специальные регистры[3] содержат данные, необходимые для работы процессора -- смещения базовых таблиц, уровни доступа и т. д.

Часть специальных регистров принадлежит устройству управления, которое управляет процессором путём генерации последовательности микрокоманд.

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

Объём же оперативной памяти намного превосходит суммарный объём регистров (объём среднего модуля оперативной памяти сегодня составляет 1-4 Гб[4], суммарная «ёмкость» регистров общего назначения/данных для процессора Intel 80386 и более новых 32 битов * 8 = 256 бит).

Процессор

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

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

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

Интервал времени, отводимый на выполнение микрооперации, называется рабочим тактом процессора.

Для реализации команды необходимо на соответствующие управляющие входы операционного блока подать определенным образом распределенную во времени последовательность управляющих сигналов. Каждая микрооперация в АЛУ выполняется под действием своего управляющего сигнала , который поступает в операционный блок в начале соответствующего такта.

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

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

2.5 Рассмотренные и используемые термины

Машина Тьюринга.

Машимна Тьюмринга (МТ) -- абстрактный исполнитель (абстрактная вычислительная машина).

Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

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

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

В состав машины Тьюринга входит:

бесконечная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент),

разделённая на ячейки,

и управляющее устройство, способное находиться в одном из множества состояний.

Число возможных состояний управляющего устройства конечно и точно задано.

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

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

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

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

Описание машины Тьюринга

Конкретная машина Тьюринга задаётся перечислением:

· элементов множества букв алфавита A,

· множества состояний Q

· и набором правил, по которым работает машина.

Они имеют вид: qiaj>qi1aj1dk (если головка находится в состоянии qi, а в обозреваемой ячейке записана буква aj, то головка переходит в состояние qi1, в ячейку вместо aj записывается aj1, головка делает движение dk, которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)).

Для каждой возможной конфигурации <qi, aj> имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил).

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

Конечный автомат

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

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

, где

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

· -- множество состояний;

· -- начальное состояние ;

· -- множество заключительных состояний ;

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

Конечный автомат начинает работу в состоянии q0, считывая по одному символу входной цепочки. Считанный символ переводит автомат в новое состояние в соответствии с функцией переходов. Читая входную цепочку x и делая один такт за другим, автомат, после того как он прочитает последнюю букву цепочки, окажется в каком-то состоянии q'.

Если это состояние является заключительным, то говорят, что автомат допустил цепочку x.

· Детерминированным конечным автоматом (ДКА) называется такой автомат, в котором нет дуг с меткой е и из любого состояния по любому символу возможен переход в точности в одно состояние.

· Недетерминированный конечный автомат (НКА) является обобщением детерминированного.

3. Структура ОС

3.1 Структура вычислительной системы

Любая вычислительная система состоит из: аппаратной основы (в англоязычных странах принято называть словом hardware), или техническое обеспечение. Оно включает:

процессор,

память,

монитор,

дисковые устройства и т.д.,

обычно(для ПК) они объединены магистральным соединением, которое называется шиной.

Во вторую очередь это программное обеспечение.

Все программное обеспечение принято делить на две части: прикладное и системное. К прикладному программному обеспечению, как правило, относятся разнообразные офисные и прочие business программы, игры, текстовые процессоры, и т.п.

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

Деление на прикладное и системное программное обеспечение является отчасти условным и зависит от того, кто осуществляет такое деление. Так, обычный пользователь, неискушённый в программировании, может считать Microsoft Word системной программой, а с точки зрения программиста это приложение. Компилятор языка Си для обычного программиста это системная программа, а для системного прикладная.

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

Несмотря на эту нечеткую грань, эту ситуацию можно отобразить в виде последовательности слоев:

Рис. 1.1. Слои программного обеспечения компьютерной системы.

Это по месту среди ПО, а по структуре:

Слоеные ОС, т.е. ОС с точки зрения реализации системы.

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

По Дейкстре (уже надо интерпретировать):

Рис. 1.2 Структура слоеной системы THE.

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

3.2 Что такое ОС

Ещё одно определение:

Операционная система (ОС) - это программа (или набор программ), которая обеспечивает возможность использования оборудования компьютера пользователем.

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

3.2.1 Загрузчик

Обеспечение возможности выполнения прикладных программ - т.е. их запуск.

3.2.2 Операционная система как виртуальная машина

Архитектура большинства компьютеров на уровне машинных команд не предназначена для ее использования прикладными программами.

Например, работа с диском предполагает знакомство с внутренним устройством его контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т.д.

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

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

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

Предоставлением таких абстракций занимается операционная система.

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

3.2.3 Операционная система как менеджер ресурсов

Основная функция ОС - управление ресурсами компьютера.

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

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

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

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

Для операционных систем к базовым ресурсами являются:

- время процессора(процессоров)

- устройства ввода-вывода

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

- внешняя память

она их распределяет между:

- процессами(программами)

- хранимыми файлами

3.2.4 Основные задачи ОС

- Управление выполнением прикладных программ

- Управление оперативной памятью

- Файловая система

- Безопасность

3.2.5 Операционная система как средство обеспечения безопасности пользователей и программ

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

ОС осуществляет проверку возможности доступа и изменения файлов, запуска процессов и потоков, обращения к устройствам.

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

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

3.2.6 Операционная система как постоянно функционирующее ядро

Наконец, можно дать и такое определение:

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

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

Ключевые понятия

Для операционных систем к базовым понятиями являются:

- процессы

- память

- файлы

Процессы

Ключевое понятие операционной системы -- процесс. Процессом называют программу(возможно подпрограмму материнской программы) в момент ее выполнения.

Посмотреть, какие процессы выполняет в данный момент ОС WIN, можно открыв окно диспетчера задач во вкладке «процессы».

Если мы запустим очередную программу на выполнение и ещё раз просмотрим список процессов, то увидим, что их стало больше. Программа может запустить один или несколько процессов.

С каждым процессом связывается его адресное пространство -- список адресов в памяти от некоторого минимума (обычно нуля) до некоторого максимума, которые процесс может прочесть и в которые он может писать. Адресное пространство содержит:

- саму программу,

- данные к ней

- и ее стек.

Стек это аппаратный регистр, где хранится информация о вложенных вызовах, необходимых для выполнения процесса.

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

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

счетчик команд,

указатель стека и

другие аппаратные регистры,

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

Операционные системы, работающие в режиме разделения времени выполняют несколько задач «одновременно». Реально это означает, что каждому процессу выделяется «квант» времени в секунде, когда он может использовать процессор.

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

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

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

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

Таким образом, приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core image, core в переводе означает «сердечник», в честь использовавшейся давным-давно памяти на магнитных сердечниках), и компонентов таблицы процесса, содержащей, помимо других величин, его регистры.

Управление памятью

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

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

Если памяти нужно больше, то испольщуется виртуальная память, и операционная система держит часть адресов в оперативной памяти, а часть на диске и меняет их местами при необходимости.

Ввод-вывод данных

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

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

Файлы

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

Безопасность

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

Заключение

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

Размещено на Allbest.ru

...

Подобные документы

  • Linux - ядро операционной системы с монолитной архитектурой. Прародители операционной системы Linux, ее стабильные и экспериментальные версии. Процесс внедрения Linux и свободного программного обеспечения в школах и государственных учреждениях России.

    реферат [18,2 K], добавлен 19.01.2013

  • Структурная организация операционной системы на основе различных программных модулей. Функции, выполняемые модулями ядра. Модули операционной системы, оформленные в виде утилит. Ядро в привилегированном режиме. Многослойная структура ядра системы.

    презентация [705,2 K], добавлен 16.01.2012

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

    лабораторная работа [21,5 K], добавлен 12.05.2013

  • Операционная система в роли связующего звена между аппаратурой компьютера и выполняемыми программами. Управление процессами операционной системы. Операционная система Windows. Различные виды Windows для определенных задач пользователей, их отличия.

    реферат [28,5 K], добавлен 23.01.2012

  • Операционная система MS-DOS: история и характеристика. Обзор стандартных программ операционной системы Windows. Способы запуска программ. Служебные приложения Windows и их назначение: диспетчер задач, проверка, очистка, дефрагментация и архивация диска.

    реферат [221,4 K], добавлен 06.01.2015

  • Особенности и свойства операционной системы UNIX, ее история, файловая структура, функции и отличия от других. Архитектура ядра системы. Понятия диспетчеризации, прерываний, системного времени (таймера), кеша. Проблема построения многопроцессорных систем.

    курсовая работа [35,6 K], добавлен 10.05.2011

  • Правовые основы защиты информации на предприятии. Анализ среды пользователей. Автоматизированная система предприятия. Краткие сведения об операционной системе Windows XP. Классификация троянских программ. Способы защиты операционной системы Windows XP.

    дипломная работа [187,3 K], добавлен 14.07.2013

  • Что такое операционная система, ее главные функции и классификация. Характеристика операционной системы MS-DOS4, организация данных. Особенности основных операций и команд системы, отработка практических навыков использования команд для работы на ПК.

    контрольная работа [13,0 K], добавлен 04.03.2011

  • Задачи подсистемы безопасности операционной системы Microsoft Windows. Предохранение систем ОС Windows от проникновения вредоносных программ, изоляцию этих программ в случае вторжения. Минимизация ущерба при заражении. Центр обеспечения безопасности.

    презентация [1,2 M], добавлен 20.12.2013

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

    контрольная работа [81,4 K], добавлен 06.04.2011

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

    курсовая работа [2,7 M], добавлен 12.08.2010

  • Мониторинг операционной системы в современном мире. Программа для операционной системы Windows как средство для его проведения. Особенности разработки программы в Delphi 7.0. Описание работы программы, порядок выполняемых действий, и программная часть.

    курсовая работа [2,7 M], добавлен 02.12.2009

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

    курсовая работа [488,8 K], добавлен 22.06.2011

  • Изучение механизма работы программных инструментов как трудная часть отладочного процесса. Отладчики пользовательского режима, их основные типы. Автоматический запуск приложений в отладчике. Быстрые клавиши прерываний. Отладка ядра операционной системы.

    реферат [260,0 K], добавлен 25.11.2016

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

    контрольная работа [215,1 K], добавлен 03.10.2010

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

    реферат [1,0 M], добавлен 22.03.2016

  • Описание области применения операционной системы (ОС) Windows 7, ее основные характеристики и причины для сбоев в работе. Выбор программного обеспечения и алгоритма для диагностики и восстановления ОС. Расчет экономических затрат на реализацию проекта.

    дипломная работа [2,3 M], добавлен 10.04.2017

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

    презентация [3,0 M], добавлен 07.09.2014

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

    шпаргалка [44,6 K], добавлен 03.02.2009

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

    презентация [693,8 K], добавлен 11.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.