Понятие операционной системы. Семейства операционных систем
Что такое операционная система?
Все разнообразие ПО (программного обеспечения) по большому счету делят на системные и прикладные программы. Первая группа обеспечивает работу второй на имеющемся «железе» (процессоре, дисках, оперативной памяти, устройствах ввода вывода). Операционные системы (ОС) относятся к системному ПО. Одной из задач ОС является реализация алгоритмов работы с аппаратным обеспечением. Может возникнуть вопрос: зачем это нужно? Ведь если подумать, каждая прикладная программа может включать код, обеспечивающий обращение к «железу». Однако, это только бы усложнило жизнь программистам и раздуло бы ПО до больших размеров. И что самое грустное — в прикладных программах было бы много одинакового кода, отвечающего за реализацию низкоуровневых команд (обращений к железу). Кроме того, как решить проблему совместной работы разных программ на одном компьютере — еще один вопрос. Поэтому операционные системы и другое системное ПО вполне обоснованно занимают отведенную им роль посредника между прикладным ПО и аппаратным обеспечение компьютера.
Даже в своем историческом развитии операционные системы зародились именно как набор программ и библиотек для управления операциями ввода и вывода. Этими достаточно универсальными программами далее пользовались остальные программисты, которым уже не нужно было ломать голову как запрограммировать считывание данных с дискеты или вывод текста на принтер. Они просто вызывали функцию из подключенной библиотеки, а она делала всю работу (в ней уже был заложен код работы с физическими устройствами).
С течением времени операционная система все более усложнялась, на нее возлагали новые функции. Компьютеры становились мощнее, потребовалась одновременно запускать определенное множество программ на выполнение процессору. ОС стала решать задачи эффективного распределения ресурсов «железа» между работающими программами. С одной вычислительной машиной стали одновременно работать несколько пользователей. ОС стала следить за правами каждого и защищать данные. В результате современные ОС включают в себя множество различных функций.
По своему строению операционная система представляет комплекс программ и модулей. Выделяют понятие ядра операционной системы. Программное обеспечение ядра защищено от вмешательства пользователей и программистов. К ядру прикладные программы обращаются с помощью запросов на выполнение того или иного действия с аппаратным обеспечением. Эти запросы называются системными вызовами и представляют собой специальные команды.
Назначение операционной системы
Итак, операционная система выполняет две основные задачи:
- облегчает (или даже предоставляет возможность) пользователям и программистам использование аппаратного обеспечения. Например, операционная система дает возможность абстрагироваться от того как на самом деле происходит обработка данных на жестком диске, а работать с понятием файла.
- обеспечивает эффективное использование аппаратного обеспечения. Поскольку на современных вычислительных машинах одновременно запускаются далеко не одна программа, то ОС отвечает за распределение памяти, регистров процессора и др. между запущенными программами в каждый момент времени. ОС определяет оптимальное распределение этих ресурсов во времени (использование процессора программами по очереди) и пространстве (загрузка в разные части оперативной памяти разных программ).
ОС семейства Windows
На сегодняшний день наиболее популярными являются операционные системы семейства Windows, которые являются проприетарным (коммерческим) продуктом корпорации Microsoft.
Свою «родословную» Windows начинают от операционной системы DOS и первоначально представляли собой надстраиваемые над ней оболочки (Windows запускался из под DOS), увеличивающие возможности DOS и облегчающие неподготовленному пользователю работу с компьютером. Уже более поздние версии (начиная с Windows NT) представляли собой полноценные операционные системы.
Преимуществом Windows считается дружественный для пользователя интерфейс. Из недостатков отмечают ненадежность системы.
Unix-подобные ОС
Операционная система UNIX оказала большое влияние на развитие мира операционных систем, заложив основы работы современных ОС. Изначально UNIX был системой для разработки ПО. В основном в UNIX работали программисты (да и вообще в 70-е годы мало кто другой работал с вычислительными машинами).
UNIX развивался на нескольких фундаментальных идеях. Например, одна небольшая задача должна решаться одной небольшой программой, а сложные задачи должны быть решаемы комбинацией простых программ.
В UNIX большое внимание уделено распределению ресурсов компьютера между пользователями. Эта система является мультитерминальной (каждый пользователь работает с компьютером с помощью своего терминала).
Не смотря на то, что Unix-подобные системы уступают по популярности Windows, они работают на больших типах компьютеров.
Linux
Linux представляет собой множество Unix-подобных операционных систем (дистрибутивов), которые чаще всего являются свободно распространяемыми.
Одной из уникальных особенностей систем GNU/Linux является отсутствие единого географического центра разработки. Linux и программы для нее пишутся миллионами программистов, рассредоточенных по всему миру.
MAC OS
Это операционная система также создавалась на основе ядра UNIX.
Является продукт компании Apple для ее же компьютеров Macintosh.
Считается надежной и удобной. Но в отличие от Windows не так популярна.