Лекция. Операционная система Linux Семейство unix
Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Д. Ричи, К. Томпсона и Б. Кернигана в 1969 году. Но в наши дни, когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем.
Вот некоторые представители семейства UNIX: System V UNIX, BSD UNIX, OSF/1, Solaris, Linux, freeBCD и др.
Рассмотрим причины 40-летней популярности ОС семейства UNIX.
- UNIX — многозадачная многопользовательская система с широким спектром услуг. Один мощный сервер может обслуживать запросы большого количества пользователей. Система может выполнять различные функции – работать как вычислительный сервер, обслуживающий сотни пользователей, как сервер базы данных, как сетевой сервер, поддерживающий важнейшие сервисы сети (telnet, ftp, электронную почту, службу имен DNS и т. д.), как сетевой маршрутизатор.
- UNIX относится к классу наиболее надежных и безопасных ОС.
- Переносимость. Код системы написан на языке высокого уровня Си, что сделало ее простой для понимания, изменений и переноса на другие аппаратные платформы. Все части системы, не считая ядра, являются полностью машинно-независимыми. Эти компоненты написаны на языке Си, и для их переноса на новую платформу требуется только перекомпиляция исходных текстов в коды целевого компьютера.
- Стандартизация. Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. Опытный администратор без большого труда сможет обслуживать другую версию системы.
- Очень большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых редакторов и заканчивая мощными системами управления базами данных.
Краткая история Linux
Операционные системы типа UNIX изначально разрабатывались для работы на больших многопользовательских компьютерах – мейнфреймах. В начале 90-х годов студент хельсинкского университета Линус Торвальдс приступил к разработке UNIX-подобной ОС для IBM-совместимых персональных компьютеров. Файлы первого варианта Linux (исходные коды) были опубликованы в Интернете в 1991 года. Л.Торвальдс не стал патентовать или иным образом ограничивать распространение новой ОС. С самого начала Linux распространяется на условиях, определяемых лицензией General Public License (GPL), принятой для программного обеспечения, разрабатываемого в рамках движения Open Source и проекта GNU. Разработка Линуса Торвальдса представляла собой только ядро операционной системы. Ядро – это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Утилиты выполняют служебные функции. К 1991 году в рамках проекта GNU уже было разработано большое количество разного рода утилит. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра также велась, но по разным причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Таким образом, более правильным было бы называть операционную систему Linux – GNU/Linux.
Конспект лекций по дисциплине ОС на тему: Операционная система 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. Кроме того, разработаны версии для других типов процессоров.