Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_ОС_П+И_2012.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
413.07 Кб
Скачать

Операционная система Linux

История создания и развития ОС LINUX

ОС LINUX появилась в конце 1960 г. В 1957 году в Laboratories Bell Telephone возникла необходимость новой операционной системы, которая удовлетворяла бы требованиям ЭВМ 2 – го поколения – автоматизация запуска программ и управление ресурсами ЭВМ.

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

Активные участники проекта Кеннет Томпсон и Деннис Ритчи продолжили работу по созданию ОС для ЭВМ PDP – 9, PDP – 11. В итоге, 1 января 1970 года было объявлено о создании ОС LINUX, которая была полностью написана на языке Assembler, был реализован многопользовательский режим (два пользователя), создана новая архитектура файловой системы. Требовалось – 12 кб ОП для ядра и 8 кб ОП для прикладных программ, максимальный размер файла мог составлять 64 кб.

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

В 1973 г. ядро было полностью переписано на язык С, что позволило переносить ОС LINUX на другие компьютеры. С 1974 г. началось распространение ОС LINUX.

С 1974 – 1979 г. было выпущено 11 версий (редакций) ОС LINUX. Ряд фирм, разрабатывали свои версии ОС LINUX, которые использовались для компьютеров этих фирм.

В 1991 г. Линус Торвальд разработал версию LINUX, которая получила широкое распространение в настоящее время.

Общие черты LINUX - систем:

  1. Многозадачность;

  2. Многопользовательский режим работы;

  3. Наличие средств защиты данных от несанкционированного доступа;

  4. Иерархическая файловая система, которая образует единое дерево каталогов, независимо от количества физических устройств;

  5. Единые операции ввода – вывода для всех данных;

  6. Переносимость системы на разные аппаратные платформы, из-за написания ядра на языке С.

Достоинства LINUX - систем:

  1. переносимость на другие аппаратные платформы;

  2. хорошо разработанный командный язык;

  3. эффективная реализация многозадачности;

  4. хороший пользовательский интерфейс;

  5. единая файловая система через которую происходит обращение к данным и периферийным устройствам.

Основные понятия ос linux

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

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

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

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

Сеанс работы – представляет собой последовательность команд, которые выполнил пользователь от момента входа в сеть до момента выхода из сети.

При включении терминала активизируется процесс Getty, сервер терминального доступа, который запускает программу Login, запрашивается регистрационное имя и пароль пользователя, происходит проверка регистрации пользователя и его пароля, если все нормально – то запускается специальная программа – интерпретатор команд. Завершение работы обеспечивается командой Logout.

GETTY LOGIN ИК сеанс работы пользователя LOGOUT

В ключение имя SHELL команды пользователя выход из

Терминала пароль системы

Интерпретатор команд (ИК) – специальная программа, часть ОС, которая обеспечивает организацию диалога пользователя, а именно:

  • считывание данных команды, введенной пользователем;

  • проверку правильности ввода команды и выдачу сообщения об ошибке;

  • выполнение команды.

ИК запускает при входе пользователя в систему и далее происходит обращение только с этим ИК. Разработано несколько ИК : SHELL, BASH и др. При регистрации пользователя в системе администратор определяет какой ИК будет запускаться при входе данного пользователя в систему.

Интерпретатор команд предоставляет пользователю возможности:

  • ввода и редактирования команды;

  • обработку метасимволов (подстановочных символов - ? * [ ] );

  • исполнение команды в интерактивном или фоновом режиме и контроль за ее выполнением;

  • перенаправления ввода – вывода, т. е. возможность ввода данных из файла и вывода данных в файл;

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

  • создание и выполнение сценариев (командных файлов ).

Команды и программы

В ОС LINUX любой исполнимый файл является командой ОС. Признаком исполнимого файла является установка для него специального атрибута «исполнимый файл», который разрешает его исполнение в качестве программы. Для запуска следует указать имя программы. Команды:

Внутренние (встроенные) – код находиться в ИК;

Внешние – исполнимые файлы, расположены на диске.

Если пользователь вводит имя команды, которая является встроенной, то команда немедленно исполняется. Если имя команда не совпадает, т. е. команда является внешней, то ИК выполняет поиск исполнимого файла команды. Каталоги, в которых оболочка ищет команду, перечисляются в переменной окружения PATH. Программа должна находиться в одном из этих каталогов, иначе будет выведено сообщение, что команда не найдена. Значение переменной PATH, устанавливается при входе в систему.

Диалог пользователя

Диалог пользователя может быть организован в двух режимах: текстовом и графическом.

В текстовом режиме пользователь вводит команды с клавиатуры после получения приглашения системы.

Приглашение системы имеет вид:

[ перечень каталогов] # или [ перечень каталогов] $

Команда имеет строго определенный формат:

< Имя команды > [ < ключи > < аргументы > ]

ключ может быть записан в краткой форме -d -v -a

или в полной форме --directory --verbose --all

Пример

# ls -a –l # ls --all # ls –al

Если действия над данными проводятся в текущем каталоге, то в команде указывается имя файла, если действия проводятся с данными в другом каталоге, то в команде следует указывать полное имя файла. Полное имя файла начинается с каталога /home

Графический интерфейс обеспечивается программой X WINDOW. Рабочий стол, средства отображения и выполнения действий с файлами и каталогами аналогичны Windows.

Конвейер. В ОС LINUX есть возможность выполнять последовательно несколько команд, объединив их в конвейер. Для образования конвейера используется символ « | »

# < команда 1 > | < команда 2 >

Пример

# cp f1.tx f2.tx | more f1.tx | more f2.tx

Команды в конвейере выполняются последовательно, при этом выход одной команды направляется на вход следующей. Если в процессе выполнения конвейера в одной из составляющих его команд произошел сбой, то выполнение конвейера завершается. Такой конвейер называется разорванным.

Перенаправление ввода – вывода – это возможность направлять данные в файлы. Стандартным потоком ввода – является ввод с клавиатуры. Стандартным потоком вывода – вывод на экран терминала.

Для вывода потока данных в новый файл в командной строке используется символ “ > ”, после которого указывается имя файла. Если файл существовал, то его содержимое удаляется и заменяется новым. Пример.

# ls - l > f1.dt – список файлов будет помещен в файл f1.dt

Для добавления потока вывода к существующему файлу используется символ “ >> “. Если файл в который надо добавить данные не существует, то он создается. Пример

# cd p1

# ls - l >> f1.dt

Ввод с терминала можно заменить вводом из файла, используя символ “ < “, после которого указано имя файла. Файл должен существовать. Пример

# find . - name A * < n1.dt – искать файлы, имена которых начинаются на символ А в файле n1.dt