Основные компоненты операционной системы
Классификация компьютерных архитектур
Компьютерные системы отличаются между собой не только по своим параметрам и своему назначению, но и по своим внутренним архитектурным принципам. Наиболее известны следующие подходы к архитектуре компьютерных систем.
CISC (Complicated Instruction Set Computers – компьютеры с усложненной системой команд) –исторически первый подход к компьютерной архитектуре, суть которого в том, что в систему команд компьютера включаются сложные по семантике операции, реализующие типовые действия, часто используемые при программировании и при реализации языков – например, вызов рекурсивных процедур и автоматическое обновление дисплей-регистров, групповые операции пересылки строк и массивов и др. Типичными представителями CISC-компьютеров были: из зарубежных компьютерных систем – машины серии IBM 360/370,из отечественных – многопроцессорные вычислительные комплексы (МВК) "Эльбрус".
RISC (Reduced Instruction Set Computers – компьютеры с упрощенной системой команд) –упрощенный подход к архитектуре компьютеров, предложенный в начале 1980-х гг. Примеры семейств RISC-компьютеров: SPARC, MIPS, PA-RISC, PowerPC. Принципы данного подхода: упрощение семантики команд, отсутствие сложных групповых операций (которые могут быть реализованы последовательностями команд, содержащими циклы); одинаковая длина команд (32 бита – архитектура была разработана в расчете на 32-битовые процессоры); выполнение арифметических операций только в регистрах и использование специальных команд считывания из памяти в регистр и записи из регистра в память; отсутствие специализированных регистров; использование большого набора регистров общего назначения. Подобная архитектура дает широкий простор для оптимизаций, выполняемых компиляторами, что и демонстрируют компиляторы Sun Studio разработки фирмы Sun / Oracle для ОС Solaris и Linux. RISC-архитектура до сих пор используется при разработке новых компьютеров.
VLIW (Very Long Instruction Word – компьютеры с широким командным словом) –подход к архитектуре компьютеров, сложившийся в 1980-х – 1990-х гг. Основная идея данного подхода – статическое планирование параллельных вычислений компиляторомна уровне отдельных последовательностей команд и подкоманд. При данной архитектуре каждая команда является "широкой" (long) исодержит несколько подкоманд, выполняемых параллельно за один машинный такт на нескольких однотипных устройствах процессора – например, в таком компьютере может быть два устройства сложения, два логических устройства, два устройства для выполнения переходов и т.д. Достоинством такой архитектуры является возможность распараллеливания вычислений, недостатком – сложность (по сравнению с RISC-архитектурой). Примеры компьютеров таких архитектур: из зарубежных – компьютеры Cray X/MP, Cray Y/MP и др., разработанные компьютерным гением Сей муром Креем (Cray) и его фирмой Cray Research; из отечественных – многопроцессорный вычислительный комплекс "Эльбрус-3".
EPIC (Explicit Parallelism Instruction Computers – компьютеры с явным распараллеливанием) –по архитектуре аналогичны VLIW, но с добавлением ряда важных усовершенствований: например, спекулятивныхвычислений – параллельного выполнения обеих веток условной конструкции с вычислением условия. Подход сложился и используется с 1990-х гг. Примеры процессоров данной архитектуры - Intel IA-64, AMD-64.
Multi-core computers (многоядерные компьютеры) –получившая наиболее широкую популярность в настоящее время архитектура компьютеров, при которой каждый процессор имеет несколько ядер (cores),объединенных в одном кристалле и параллельно работающих на одной и той же общей памяти, что дает широкие возможности для параллельных вычислений. Соответственно, создатели операционных систем для таких компьютеров разрабатывают базовые библиотеки программ, позволяющие в полной мере использовать возможности параллельного выполнения на многоядерныхпроцессорах.
Hybrid processor computers (компьютеры с гибридными процессорами)– новый, все шире распространяющийся подход к архитектуре компьютеров, при котором процессор имеет гибриднуюструктуру – состоит из (многоядерного) центрального процессора (CPU)и (также многоядерного) графического процессора (GPU – Graphical Processor Unit). Такая архитектура была разработана, в связи с необходимостью параллельной обработки графической и мультимедийной информации, что особенно актуально для компьютерных игр, просмотре на компьютере высококачественного цифрового видео и др. Примерами таких архитектур являются новые процессоры фирмы AMD, а также графические процессоры серии Tesla фирмы NVidia.
Рассмотрим теперь основные части ОС.
Ядро (kernel) –низкоуровневая основа любой операционной системы, выполняемая аппаратурой в особом привилегированном режиме(подробно о нем речь в следующей лекции). Ядро загружается в память один раз и находится в памяти резидентно– постоянно, по одним и тем же адресам.
Подсистема управления ресурсами (resource allocator)– часть операционной системы, управляющая вычислительными ресурсами компьютера - оперативной и внешней памятью, процессором и др.
Управляющая программа (control program, supervisor) –подсистема ОС, управляющая исполнением других программ и функционированием устройств ввода-вывода.
Особенности ОС для различных классов компьютерных систем. ОС реального времени. ОС для облачных вычислений