Файл: Введение в операционные системы Операционная система.doc

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

Категория: Не указан

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

Добавлен: 07.11.2023

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

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

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


Введение в операционные системы

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

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


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

Цель создания вычислительной системы – решение задач пользователя. Для решения определенного круга задач создается прикладная программа (приложение, application). Примерами прикладных программ являются текстовые редакторы и процессоры (Блокнот, Microsoft Word), графические редакторы (Paint, Microsoft Visio), электронные таблицы (Microsoft Excel), системы управления базами данных (Microsoft Access, Microsoft SQL Server), браузеры (Internet Explorer) и т. п. Все множество прикладных программ называется прикладным программным обеспечением (application software).

Создается программное обеспечение при помощи разнообразных средств программирования (среды разработки, компиляторы, отладчики и т. д.), совокупность которых называется инструментальным программным обеспечением. Представителем инструментального ПО является среда разработки Microsoft Visual Studio.

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


Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов (system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface (интерфейс прикладного программирования).

Далее рассмотрим, какие функции должны выполнять современные операционные системы.

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

К основным функциям, выполняемым операционными системами, можно отнести:

  • обеспечение выполнения программ – загрузка программ в память, предоставление программам процессорного времени, обработка системных вызовов;

  • управление оперативной памятью – эффективное выделение памяти программам, учет свободной и занятой памяти;

  • управление внешней памятью – поддержка различных файловых систем;

  • управление вводом-выводом – обеспечение работы с различными периферийными устройствами;

  • предоставление пользовательского интерфейса;

  • обеспечение безопасности – защита информации и других ресурсов системы от несанкционированного использования;

  • организация сетевого взаимодействия.

Структура операционной системы

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

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

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

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

Основным компонентом операционной системы является ядро (kernel). Функции ядра могут существенно отличаться в разных системах; но во всех системах ядро работает в привилегированном режиме (который часто называется режим ядра, kernel mode).

Термин "ядро" также используется в разных смыслах. Например, в Windows термин "ядро" (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer).



Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур. В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

Примеры различных типов ядер:

  • монолитное ядро – MS-DOS, Linux, FreeBSD;

  • микроядро – Mach, Symbian, MINIX 3;

  • гибридное ядро – NetWare, BeOS, Syllable.

Обсуждение того, к какому типу относится ядро Windows NT.

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.

В состав операционной системы также входят:

  • системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;

  • пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

  • текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);

  • графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

Классификация операционных систем

Классификацию операционных систем можно осуществлять несколькими способами.

  1. По способу организации вычислений:

  • системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;

  • системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;

  • системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.


  • По типу ядра:

    • системы с монолитным ядром (monolithic operating systems);

    • системы с микроядром (microkernel operating systems);

    • системы с гибридным ядром (hybrid operating systems).

  • По количеству одновременно решаемых задач:

    • однозадачные (single-tasking operating systems);

    • многозадачные (multitasking operating systems).

  • По количеству одновременно работающих пользователей:

    • однопользовательские (single-user operating systems);

    • многопользовательские (multi-user operating systems).

  • По количеству поддерживаемых процессоров:

    • однопроцессорные (uniprocessor operating systems);

    • многопроцессорные (multiprocessor operating systems).

  • По поддержке сети:

    • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;

    • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.

  • По роли в сетевом взаимодействии:

    • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;

    • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.

  • По типу лицензии:

    • открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;

    • проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.

  • По области применения:

    • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);

    • операционные системы серверов (server operating systems);

    • операционные системы персональных компьютеров (personal computer operating systems);

    • операционные системы мобильных устройств (mobile operating systems);

    • встроенные операционные системы (embedded operating systems);

    • операционные системы маршрутизаторов (router operating systems).

    Требования к операционным системам

    Основное требование, предъявляемое к современным операционным системам – выполнение функций, перечисленных выше в параграфе "Функции операционных систем". Кроме этого очевидного требования существуют другие, часто не менее важные:

    • расширяемость – возможность приобретения системой новых функций в процессе эволюции; часто реализуется за счет добавления новых модулей;

    • переносимость – возможность переноса операционной системы на другую аппаратную платформу с минимальными изменениями;

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

    • надежность – вероятность безотказной работы системы;

    • производительность – способность обеспечивать приемлемые время решения задач и время реакции системы.



    Информатика и информация

    Основные понятия информации

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

    Информация – это знания или сведения о ком-либо или о чем-либо.

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

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

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

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

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

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

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

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

    Свойства информации:

    1. полнота — свойство информации исчерпывающе (для данного потребителя) характеризовать отображаемый объект или процесс;

    2. актуальность— способность информации соответствовать нуждам потребителя в нужный момент времени;

    3. достоверность — свойство информации не иметь скрытых ошибок. Достоверная информация со временем может стать недостоверной, если устареет и перестанет отражать истинное положение дел;

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

    5. релевантность — способность информации соответствовать нуждам (запросам) потребителя;

    6. защищенность — свойство, характеризующее невозможность несанкционированного использования или изменения информации;

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