5.5. Операционная система Linux
На сегодняшний день наиболее известной операционной системой для компьютеров является не только ОС Microsoft Windows, но и ОС семейства UNIX.
Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Дениса Ричи, Кена Томпсона и Брайана Кернигана в 1969 году. Говоря об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Cамо же слово UNIX (заглавными буквами) стало регистрироваться торговой маркой корпорации AT&T.
В конце 70-х годов прошлого века сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD (“Berkley Systems Distribution”). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли. Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах.
В начале 90-х годов студент Хельсинского университета Линус Торвальдс приступил к разработке UNIX-подобной операционной системы для IBM-совместных персональных компьютеров.
Файлы первого варианта Lunix (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года.
Как было описано выше, в любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро ОС – это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая структура – это система хранения файлов на запоминающих устройствах. Интерпретатор команд (оболочка) – это программа, организующая взаимодействие пользователя с компьютером. Утилиты – это отдельные программы, которые выполняют служебные функции.
Если быть точным, то слово «Linux» обозначает только ядро. Поэтому, когда идет речь об операционной системе, правильнее было бы говорить «операционная система, основанная на ядре Linux». Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространятся свободно на основе лицензии GPL (General Public License). Суть лицензии GPL состоит в том, что программное обеспечение, распространяемой под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать другим лицам. Одним следствием свободного распространения программного обеспечения для Linux является то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать называемые дистрибутивы Linux.
Дистрибутив – это набор программного обеспечения, включающий все основные 4 составные части ОС (ядро, файловую систему, оболочку и совокупность утилит), а также некоторую совокупность прикладных программ.
В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний день Linux – самая современная, устойчивая и быстроразвивающая система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.
Реальная многозадачность. Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима «вытесняющей многозадачности», реализованной в Windows, когда процесс должен сам «уступить» процессор другим процессам (и может сильно задержать их выполнение).
Многопользовательский доступ. Linux – не только многозадачная ОС, она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающих с хостом через различные удаленные терминалы.
Страничная организация памяти. Системная память Linux организована в виде страниц объемом 4 Кбайт. Если оперативная память полностью исчерпана, ОС будет искать давно не использующие страницы памяти для их перемещения из памяти на жесткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска.
Загрузка выполняемых модулей «по требованию». Ядро Linux поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.
Совместное использование исполняемых программ. Если необходимо запустить одновременно несколько копий какого-либо приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.
Динамическое кэширование диска. Кэширование диска – это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Linux использует более динамичную систему кэширования: память, зарезервированная под кэш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.
Сетевые возможности. Linux можно интегрировать в любую локальную сеть.
Работа на разных аппаратных платформах. Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях микропроцессоров от Intel, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора). Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров.
- Введение
- 5. Программные средства реализации информационных процессов
- 5.1. Виды программного обеспечения
- 5.2. Файлы и файловые системы
- 5.3. Назначение и классификация операционных систем
- 5.4. Операционные системы семейства Windows
- 5.5. Операционная система Linux
- 5.6. Технологии виртуализации
- 5.6.1. Основные понятия виртуализации
- 5.6.2. Виды виртуализации
- 5.6.2.1. Виртуализация платформ
- 5.6.2.1. Виртуализация ресурсов
- 5.6.3. Обзор настольных платформ виртуализации
- 5.6.4. Настольной платформа виртуализации Virtual Box
- 5.7. Сервисное программное обеспечение
- 5.8. Инструментарий технологий программирования
- 5.9. Пакеты прикладных программ и их характеристика
- 5.10. Базы данных
- 5.2.3. Системы управления базой данных: определение. Основные понятия реляционной субд: структура таблицы и типы данных; определения формы, отчета, запроса. Виды запросов.