Найти в Дзене
ITCONTENT

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

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

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

Что такое операционная система

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

-2

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

Цель операционной системы

-3

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

Для того, чтобы создать прикладные программы, специалисты используют широкий перечень средств, начиная от языков программирования и заканчивая специальными отладчиками, способными создать готовый программный продукт – они-то и относятся к числу так называемого «инструментального» инструментального ПО (к примеру, Microsoft Visual Studio).

Назначение операционной системы

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

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

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

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

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

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

Современные процессоры имеют минимум два режима работы – привилегированный (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.

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

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (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).

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

-4

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

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

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

2. По типу ядра:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
  • операционные системы серверов (server operating systems);
  • операционные системы персональных компьютеров (personal computer operating systems);
  • операционные системы мобильных устройств (mobile operating systems);
  • встроенные операционные системы (embedded operating systems);
  • операционные системы маршрутизаторов (router operating systems).

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

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

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

Резюме

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

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

ITCONTENT