Уровни компьютерных систем
Работая с компьютером на бытовом уровне, мы часто не задумыва- емся, что же скрывается за встречающим нас дружественным интер- фейсом, а ведь современная компьютерная система состоит из одного или нескольких процессоров, оперативной памяти, дисков, клавиатуры, монитора, принтеров, сетевого интерфейса и других устройств, то есть является сложной комплексной системой. Написание программ, которые следят за всеми компонентами, корректно используют их и при этом ра- ботают оптимально, представляет собой крайне трудную задачу. По этой причине компьютеры оснащаются специальным уровнем про- граммного обеспечения, называемым операционной системой. Опера- ционная система отвечает за управление всеми перечисленными уст- ройствами и обеспечивает пользователя имеющими простой, доступный интерфейс программами для работы с аппаратурой.
Выделяют пять основных уровней компьютерных систем (КС), среди которых:
1. Самый нижний уровень содержит физические устройства, со- стоящие из интегральных микросхем, проводников, источников питания, электронно-лучевых трубок и т.п. То, как они устроены и как работают, относится к сфере деятельности инженеров, специалистов по электро- нике.
2. Выше расположен микроархитектурный уровень, на котором фи- зические устройства рассматриваются с точки зрения функциональных единиц. Обычно на этом уровне находятся внутренние регистры цен- трального процессора (CPU – Central Processing Unit) и арифметико- логическое устройство. На каждом такте процессора из регистра выби- рается один или два операнда, которые обрабатываются в арифметико- логическом устройстве (например, действием операции сложения или логического И). Результат сохраняется в одном или нескольких регист- рах. В некоторых машинах операции над данными контролируются про- граммными приложениями, которые называются микропрограммами, в других такой контроль выполняется напрямую аппаратными цепями.
В микропрограммах используется:
· обработка прерываний,
· управление различными типами структур данных,
· примитивы, синхронизация, координирующий доступ к общим дан- ным,
· переключение контекста,
· последовательности вызова из процедур и возврата в них.
3. Определенная система команд передается по маршруту переда- чи данных. Некоторые команды могут быть выполнены за один цикл пе- редачи данных, другие требуют нескольких циклов. Такие команды могут использовать регистры или другие возможности аппаратуры. Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA (Instruction Set Architecture – архитектура системы команд), часто называемый машинным языком.
Обычно машинный язык содержит от 50 до 300 команд, служащих преимущественно для перемещения данных по компьютеру, выполне- ния арифметических операций и сравнения величин. Управление уст- ройствами на этом уровне осуществляется с помощью загрузки опреде- ленных величин в специальные регистры устройств.
Примером работы на таком уровне может служить обработка ко- манды чтения с диска. Для этого нужно выполнить запись в его регист- ры: адреса места на диске, адреса в основной памяти, число байтов для чтения и еще множество параметров. Кроме того, нужно учитывать ста- тус операции, возвращаемый диском.
4. Операционная система предназначена для того, чтобы скрыть от пользователя и даже от прикладного программиста все эти сложности. Она состоит из уровня программного обеспечения, который частично избавляет от необходимости общения с аппаратурой напрямую, вместо этого предоставляя программисту более удобную систему команд. В продолжение предыдущего примера, можно сказать, что чтение блока с диска из файла в этом случае представляется ему намного более про- стым, чем когда нужно заботиться о перемещении головок диска, ждать, пока они установятся на нужное место и т.д.
5. Над операционной системой на нашем рисунке расположены ос- тальные системные программы. Здесь находятся интерпретатор команд (оболочка), системы окон, компиляторы, редакторы и т.д. Важно пони- мать, что подобные программы не являются частью операционной сис- темы, хотя обычно поставщики компьютеров устанавливают их на ма- шины. Это очень важное замечание. Под операционной системой обыч- но понимается то программное обеспечение, которое запускается в ре- жиме ядра или, как его еще называют, режиме супервизора. Она защи- щена от вмешательства пользователя с помощью аппаратных средств. Компиляторы и редакторы запускаются в пользовательском режиме. Ес- ли пользователю не нравится какой-либо компилятор, он при желании может написать свой собственный, но он не может написать собствен- ный обработчик прерываний системных часов, являющийся частью опе- рационной системы и обычно защищенный аппаратно от попыток его модифицировать.
Существуют системы, в которых это различие размыто. К ним отно- сятся встроенные системы, они могут не иметь режима ядра, или интер- претируемые системы, подобные основанным на Java операционным
системам, в которых для разделения компонентов используется интер- претация, а не оборудование. Но в традиционных компьютерах опера- ционная система представляет собой набор программ, запускающихся в режиме ядра.
Во многих системах есть программы, которые работают в пользова- тельском режиме, но помогают операционной системе или выполняют специализированные функции. Например, часто встречаются програм- мы, позволяющие пользователям изменять свои пароли. Они не явля- ются частью операционной системы и запускаются не в режиме ядра, но выполняемые ими функции влияют на работу системы, и такие про- граммы должны быть определенным способом защищены от воздейст- вия пользователя.
6. Над системными программами расположены прикладные про- граммы. Обычно они покупаются или пишутся пользователем для реше- ния собственных проблем – обработки текста, электронных таблиц, тех- нических расчетов или сохранения информации в базе данных.
Первые три уровня можно объединить под общим названием «тех- нический уровень». Четвертый и пятый можно условно назвать уровень
«системных программ». Последний, шестой, можно назвать уровнем
«прикладных программ».
Представив компьютерную систему таким образом, мы готовы при- вести универсальное определение операционной системы.
Операционная система (ОС) – набор программ, как обычных так и микропрограмм, которые обеспечивают возможность использования ап- паратуры компьютера, при этом аппаратура компьютера представляет собой «сырой» материал, а задача ОС заключается в том, чтобы сде- лать аппаратуру доступной и, по возможности, удобной для пользователя.
Исходя из задач ОС, неотделимо связанных с данным определени- ем, можно выделить основные функции ОС, среди которых:
· определение интерфейса пользователя,
· обеспечение разделения аппаратных ресурсов между пользовате- лями,
· предоставление возможности работы с общими данными,
· планирование доступа пользователей к общим ресурсам,
· обеспечение эффективного выполнения операций ввода/вывода,
· осуществление восстановления информации и вычислительного процесса в случае ошибок.
Необходимо заметить, что в распоряжение ОС предоставляются как пассивные, так и активные ресурсы. Поэтому классификация ресурсов ОС видится следующим образом:
Пассивные ресурсы – управляемые ресурсы:
· процессоры,
· память,
· устройства ввода/вывода,
· данные.
Активные ресурсы – управляющие ресурсы:
· операторы ЭВМ,
· различные программисты (прикладные, системные),
· административный персонал,
· программы пользователя.
Можно сказать, что ОС, основываясь на потребностях и возможно- стях своего активного ресурса и с учетом предоставленного в распоря- жение пассивного ресурса, выполняет поставленные перед ней задачи посредника.
Следующим шагом в рассмотрении ОС можно считать приведение классификации ОC с различных точек зрения.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.