Операционная система Linux
Из истории создания Linux
Пингвин
Компоненты Linux
Компоненты Linux
Понятие файла в Linux
Понятие файла в Linux
Организация хранения файлов
Файловые системы Linux
Объект доступа
Примеры команд Linux
Примеры команд Linux
Графический интерфейс
Диспетчер окон
Работа с окнами
Основы администрирования
Процедура загрузки ОС Linux
Процедура загрузки ОС Linux
Процедура загрузки ОС Linux
Процедура загрузки ОС Linux
368.00K

Операционная система Linux. Основные сведения

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

Основные сведения

2.

Альтернативные операционные системы семейства UNIX. Linux.
UNIX является исключительно удачным примером реализации
простой мультипрограммной и многопользовательской операционной системой.
Своей уникальностью система UNIX обязана во многом тому обстоятельству,
что была, по сути, создана всего двумя разработчиками, которые делали ее
исключительно для себя и первое время использовали на мини-ЭВМ с очень
скромными вычислительными ресурсами.
Первая версия этой системы занимала всего около 12 КБ и могла
работать на ПК с очень небольшим объемом оперативной памяти. Была
написана на Ассемблере, и датой рождения Unix считается 1 января 1970 г.
При создании второй версии Unix разработчики отказались от языка
ассемблера и специально придумали язык высокого уровня, на котором можно
было бы писать не только системные, но и прикладные программы (речи идет о
языке С), то и сама система Unix, и приложения, выполняющиеся в ней, стали
легко переносимыми (мобильными).
В основу Unix легла иерархическая файловая система. Каждый
процесс в Unix рассматривался как последовательное исполнение программного
кода в рамках автономного адресного пространства, а работа с устройствами
трактовалась как работа с файлами. В первой же версии, написанной на
Ассемблере, было реализовано ключевое понятие процесса, позднее появились
системные вызовы (fork, wait, exec, exit).
Создателями системы Unix считаются сотрудники Bell Labs Кен
Томпсон и Деннис Ритчи, назвавшие свое детище «универсальной
операционной системой с разделением времени»

3. Из истории создания Linux

Линус Бенедикт Торвальд (Linus Benedict Torvalds) родился 28
декадря 1969 года.
Его дед по материнской линии, Лео Вальдмер Тёрнквист, был
проффесором статистики в Университете Хельсинки. В 1981 он купил
компьютер Commodore VIC-20. это был первый компьютер, к которому
Линус получил доступ – он помогал деду набирать программы, которые
профессор старательно писал на бумаге, потому что не привык делать
это непосредственно за компьютером.
Когда он выжал из VIC-20 всё, что мог, он стал копить деньги на
модель следующего поколения. В 1987 году он купил Sinclair QL. В
этом компьютере был установлен 32-разрядный процессорный чип
68008 компании Motorola с частотой 8 мегагерц. Sinclair имел 128
килобайт (не мегабайт!) памяти, что по тем временам было очень много
для домашнего компьютера.
2 января 1991 года Линус приобрёл в рассрочку новый
компьютер, на основе процессора Intel 80386 с 4 мегабайтами ОЗУ и
тактовой частотой 33 мегагерца. Он установил на него систему Minix.,
однако возникло множество претензий к этой ОС. Пришлось писать
собственную операционную систему.
17 сентября 1991 года Линус положил на FTP-сайт Linux версии
0.01.

4.

В один прекрасный день у Линуса рухнула базовая операционка –
Minix. Это был решающий момент: можно было переустановить Minix
или принять вызов и объявить, что Linux может полностью её заменить.
Когда в Linux появилась поддержка подкачки виртуальной памяти (в
Minix её не было), люди стали переходить от Minix к Linux.
В марте 1994-го Linux 1.0 была представлена в аудитории
факультета информатики Университета Хельсинки.
1995 год. У Linux появилось множество коммерческих версий,
Linux-компании завоёвывают признание. В университете Линуса
повысили с ассистента до научного сотрудника. В марте 1995-го была
выпущена версия 1.2.
1994 – 95 годы были для Линуса непростыми, - родилось двое детей
и магистерская диссертация отнимала всё время.
Перенос Linux на другие платформы стал темой магистерской
диссертации Торвальдса.
А Windows не терял времени. Вся планета была атакована
грандиознейшей рекламой Windows. Эту операционную систему
покупали даже те, кто о компьютерах и не слышал. На смену чёрному
досу и синему нортону пришла красочная операционная система со
свистками и колокольчиками. Установить её мог кто угодно.
Она победила в конкурентной борьбе.
Microsoft
имела
лицензионное
соглашение
со
всеми
производителями компьютеров. Компания Билла Гейтса сумела
ограничить возможность выпуска компьютеров с другими ОС.

5. Пингвин

Кто и когда придумал для новой операционной
системы название и логотип?
Линус с самого начала хотел назвать свою
операционную систему «FREAX». Арии Лемка еле отговорил
его. В английском языке есть созвучное слово – «freak»
имеющее неготивное звучание наркоман, хиппи, урод,
чудище, посмешище и т.п..
А логотип Linux придумал в 1996 году. Тогда в
рассылке linux-kernel mailing list прозвучала идея о выборе
логотипа для Linux.
Логотип Linux – это выбор Линуса. Он говорит что сам
похож на пингвина.
Логотип создал Лари Ивинг (Larry Ewing), причём он
нарисовал его прямо в Linux с помощью программы GIMP
(The GNU Image Manipulation Program). Если вы хорошо
знаете зоологию (или хотя бы видели пингвинов по
телевизору), то, наверное, заметили, что у настоящих
пингвинов клюв и ласты – чёрные, а у нашего пингвинёнка –
оранжевые. Это сделано специально, чтобы пингвин был
узнаваем.

6.

Таким образом,
Linux — 32- либо 64-разрядная Unix-подобная ОС, способная
работать на широком спектре компьютерного оборудования и
объединяющая функции настольной и серверной ОС.
Эта ОС является достойной альтернативой системе Windows
от Microsoft.
Linux –– это свободно распространяемая версия Unix-систем,
которая первоначально разрабатывалась Линусом Торвальдсом в
университете
Хельсинки
(Финляндия).
Он
предложил
разрабатывать ее совместно и выдвинул условие, согласно
которому исходные коды являются открытыми, любой может их
использовать и изменять, но при этом обязан оставить открытым и
свой код, внесенный в тот или иной модуль системы. Все
компоненты
системы,
включая
исходные
тексты,
распространяются с лицензией на свободное копирование и
установку для неограниченного числа пользователей.
Linux — это полная многозадачная многопользовательская
ОС (точно так же, как и другие версии Unix). Это означает, что
одновременно много пользователей могут работать на одной
машине, одновременно выполнять много программ. Права
пользователей определяются уровнями доступа. Каждый
пользовательский процесс полностью автономен и не мешает
другим, поскольку пользователь работает с отдельной консолью.

7.

Особенности и достоинства операционной системы Linux
Бесплатность. Установив ОС Linux, пользователь получает набор
различных бесплатных программ. Они абсолютно функциональны, но
не столь привычны пользователю, как программы Windows.
Надежность. Корректная работа аппаратной части компьютера
позволит системе Linux работать годы без перезагрузки и зависаний.
Безопасность. В Linux практически нет вирусов. Построение ОС
исключает работу вредоносных программ. Пользователь может
обходиться без антивирусных программ, экономя часть ресурсов
компьютера.
Открытый исходный код. Он дает возможность использовать и
модифицировать код по своему желанию. Можно в любой момент
исправить некоторые ошибки или недочеты системы, а также расширить
ее функциональность путем написания дополнений или программ,
работающих под ее управлением.
Недостатки. Самый главный из них тот, из-за которого многие
пользователи так и не переходят с Windows на Linux. Этим недостатком
является то, что многие игры разработаны под Windows, а не под Linux.
Конечно, у последней ОС тоже есть свои игрушки, но такого обилия,
как у Windows у Linux нет. Выходом в данном случае является эмулятор
WINE, позволяющий запускать как игры, так и windows-приложения.
Также недостаток Linux – непривычность программного обеспечения и
структуры этой ОС, но, естественно, постепенно ко всему можно
привыкнуть.

8. Компоненты Linux

Ядро – это программа, предоставляющая программам
пользователя доступ к
ресурсам компьютера (так называемые
системные вызовы, system calls) и содержит всю логику распределения
ресурсов по задачам, которые называются процессами.
Linux использует модульное ядро. Модульные ядра имеют
программный интерфейс (API) для связывания модулей с ядром, для
обеспечения динамической загрузки и выгрузки модулей.
Ядро системы Linux состоит из нескольких основных частей:
блок управления процессами, блок управления памятью, драйверы
устройств, драйверы файловых систем, блок управления сетью, а также
другие небольшие процедуры.
Наиболее важные составляющие ядра (обеспечивающие
жизнеспособность системы) – это блок управления памятью и
процессами. Блок управления памятью обеспечивает распределение
областей памяти между процессами.
Блок управления процессами создает новые процессы и
обеспечивает многозадачность путем переключения задач.
На самом нижнем уровне ядро содержит драйверы устройств
для каждого типа поддерживаемого оборудования.
Современные версии ядер Linux могут иметь модульную
структуру. При такой организации ядра оно становится компактнее и
есть возможность загружать нужные модули по своему выбору.

9. Компоненты Linux

В роли задач в Linux выступают процессы.
Процесс – это программа, запущенная пользователем,
которая находится в памяти и потребляет ресурсы:
выполняется, требует памяти, обменивается данными с
системой, внешними устройствами и другими процессами. При
запуске процесс получает уникальный идентификатор процесса
(Process Identifier, PID), по которому он становится доступен,
другим процессам.
Процесс можно представить себе как виртуальную
машину, отданную в распоряжение одной задачи. Каждый
процесс считает, что он на машине один и может
распоряжаться всеми ее ресурсами. На самом же деле процессы
надежно изолированы друг от друга, так что крушение одного
не может повредить всей системе.

10. Понятие файла в Linux

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

11. Понятие файла в Linux

В Linux различают следующие типы файлов:
обычные файлы;
каталоги;
файлы физических устройств;
именованные каналы (named pipes);
сокеты (Linux sockets);
символические ссылки (symlinks).
Главные отличительные признаки файлов и каталогов
– их имена. В Linux имена файлов и каталогов могут быть
длинной не более 256 символов, и могут содержать любые
символы, кроме
“/”. Причем Linux всегда различает
прописные и строчные буквы в именах файлов и каталогов.
Допускается
использование
символов
национальных
алфавитов в любых кодировках.
Есть несколько символов, допустимых в именах
файлов и каталогов которые нужно использовать с
осторожностью. Это так называемые спецсимволы “*”, “\”,
“&”, “<”, “>”, “;”, “(“,”)”, ” “, а также символы пробела и
табуляции

12. Организация хранения файлов

Все файлы системы, размещаются на одном или нескольких
файловых носителях (обычно на жестких дисках).
Файловая система с точки зрения пользователя – это
“пространство”, в котором размещаются файлы. Наличие файловой
системы позволяет определить не только “как называется файл”, но и
“где он находится”. Иначе говоря, файлы нужно систематизировать.
В файловой системе Linux нет папок и документов. Есть каталоги
и файлы, возможности куда шире.
В Linux нет понятия имени диска. Корневой каталог (он
называется просто), содержит все остальные доступные системе
файловые ресурсы. В корневом каталоге могут хранится файлы
(скорее всего- системные) и подкаталоги. В подкаталогах тоже могут
лежать файлы и подкаталоги, и так же все глубже.

13. Файловые системы Linux

Файловая система - способ хранения и организации доступа к
данным на информационном носителе или его разделе. Классическая
файловая система имеет иерархическую структуру, в которой файл
однозначно определяется полным путём к нему.
От свойств файловая системы, особенностей архитектуры,
возможностей, надежности зависит работоспособность операционной
системы. Помимо “родной” файловой системы желательно, чтобы
была возможность работать с другими распространенными
файловыми системами (например, FAT16/FAT32)/
В настоящее время в Linux наиболее часто используется 2-я и 3-я
версия файловой системы ExtFS “Extended File System”. У этих
файловых систем существует специальная область, называемая
журналом. Журналирование должно обеспечивать целостность
файловой системы после внезапного сбоя, такого как отключение
питания. Для этого файловая система, ext3, все изменения служебной
информации и данных записывает сначала в журнал, и только после
попадания в журнал всех изменений начинает изменять данные в их
обычном месте. После сбоя, система читает журнал и завершает все
неоконченные операции, записанные в журнале, а те, что не успели
полностью записаться в журнал, игнорирует.

14. Объект доступа

Объект – элемент файловой системы (файл, каталог, устройство и т.д.)
Права доступа и информация о типе файла в Linux хранятся в
отдельной структуре, состоящей из двух байтов, т.е. из 16 бит. Четыре бита
отведены для кодированной записи о типе файла. Следующие три бита
задают особые свойства исполняемых файлов. И, наконец, оставшиеся 9
бит определяют права доступа к файлу. Эти 9 бит разделяются на 3 группы
по три бита.
Первые три бита задают права пользователя, следующие три бита права группы, последние 3 бита определяют права всех остальных
пользователей (т.е. всех пользователей, за исключением владельца файла и
группы файла).
Право доступа для пользователя определяется свойствами объекта
(элемента файловой системы) над которым процесс пытается произвести
какое либо действие.
Возможное действия: - чтение файла, изменение или выполнение.
Эти права обозначаются символами – rwx.
r- чтение
w- изменение (запись)
х- выполнение (загрузка в память с целью запуска на выполнение)
Каждый файл в Linux имеет следующие атрибуты – владелец (имя
пользователя от имени которого был создан файл), группа файла –
основная группа пользователя создавшего файл.
Пользователь root имеет возможность сменить атрибуты владельца,
группы и режимы доступа. Владелец файла может менять только режимы
доступа.

15. Примеры команд Linux

Поиск файлов Команда find.
Если написать просто «find», то на экран будет выведены
все файлы из текущей директории и её поддиректории.
find – type d покажет только директории,
а find – type f покажет только файлы.
Но для настоящего поиска используется команда find –
name <имя файла>
Например, find –name *.с найдёт все файлы с расширением
“.с “, а find –name file. txt найдёт все файлы с именем file. txt.
find –size[+/-]<размер> найдёт файлы, которые больше
указанного размера(+), или меньше(-), или которые занимают
ровно столько, сколько указано(если число без знака). find
<директория> запустит find для поиска именно в этой
директории (можно указывать несколько).
Недостатком find является медленный поиск, поэтому
существует альтернативная команда locate <имя файла>,
которая ищет конкретный файл по уже созданной базе данных.

16. Примеры команд Linux

Так же часто бывает нужна возможность поиска в
файлах какого-нибудь слова или фразы. Команда grep
ищет текст в файлах и выводит только те строки, в
которых был обнаружен этот самый текст. Примеры :
grep ‘Linux’ *.txt – ищет во всех файлах с
расширением txt слово “Linux”.
grep –n <выражение><имя файла> выводит номер
строки, в которой было найдено выражение.
grep - <количество><выражение><имя файла>
выводит <количество> строк перед и после той строки, в
которой было найдено выражение.
grep –v <выражение><имя файла> выведет только те
строки, в которых не было найдено указанного
выражения.
grep –i<выражение><имя файла> проводит поиск,
нечувствительный к регистру.

17. Графический интерфейс

Графические средства ввода-вывода позволяют организовать
оконный интерфейс. Сегодня любому пользователю компьютера
знакома такая модель организации графического интерфейса: окна,
меню, кнопки. Оконный интерфейс позволяет использовать
пространство экрана гораздо более эффективно: здесь одновременно
можно открыть несколько окон, относящихся к разным задачам, и
наблюдать за их работой одновременно. В рамках окна может
выполняться любая задача. При помощи оконного интерфейса
пользователь Linux может следить за несколькими задачами
одновременно, а не по очереди.
X-Windows System
Существует множество графических устройств, управление
которыми на низком уровне (вывод изображений и ввод данных,
например, о перемещении мыши) – задача совсем не для пользователя.
Заботы о вводе и выводе на низком уровне берёт на себя графическая
подсистема Linux – Х-Windows System.
X-Windows System использует традиционную оконную модель
основа которой – экран. Экран – это прямоугольник, на котором
отображаются команды графического вывода и организуется обратная
связь с устройствами графического ввода. пример обратной связи –
указатель мыши. Сама мышь – простое устройство ввода, способное
передавать информацию о перемещении курсора и состоянии кнопок.
Указатель же отображает мнение подсистемы об абсолютных
координатах «точки ввода».

18. Диспетчер окон

X- сервер берет на себя ответственность только за выдачу Xприложению области для ввода- вывода и управление фокусом окна. Но не
занимается никакими манипуляциями по изменению этого окна:
перемещением, изменением размера, сворачиванием и т.п.. X- сервер умеет
очень ловко манипулировать окошками, но сам никогда ничего не делает –
он дожидается команды от пользовательской программы. А какая
программа станет самостоятельно отслеживать перекрытие окон, фокус,
заниматься изменением размера, перемещением и т.п.? Ведь основная
задача программы может быть совсем другой…
Диспетчер окон – это программа, основная задача которой состоит в
том, чтобы отслеживать перекрытие, изменять размер, двигать, превращать
в иконку и т.д. По совместительству эта программа будет рисовать при
окнах всякие украшения: рамочки, заголовки, кнопки и меню управления –
словом, делать все что нужно для организации логики управления окнами.
Диспетчер окон. Существует множество диспетчеров окон для X
Windows System. Они различаются видом и кругом возможностей для
манипулирования окнами: от самых простых (рамочка вокруг окна
позволяет двигать его. Изменять размер и поднимать из глубины; вот
собственно, все) до весьма сложных (виртуальные экраны, анимированные
полупрозрачные меню, панели инструментов, причудливой формы
украшения на окнах; сами окна ползают по экранам, кувыркаются,
растворяются как утренний туман; все это лязгает, попискивает и
разговаривает приятным женским голосом ).
Выбор диспетчера окон на свой вкус – очень непростое занятие. Чем
причудливее и многообразнее возможности окновода, тем труднее будет
его полностью настроить именно под себя.

19. Работа с окнами

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

20. Основы администрирования

К числу основных задач системного администрирования
относится доступ к системе от имени суперпользователя,
выбор режима работы системы, настройка файлов
конфигурации, контроль производительности.
Хотя системное администрирование иногда является
довольно
сложным
процессом,
основные
задачи
администрирования выполняются довольно просто. В системе
Linux в качестве основного средства администрирования
входит набор специализированных инструментальных средств.
Многие инструментальные средства имеют графический
интерфейс на основе системы X-Windows, где для выбора
команд используется меню, окна и кнопки. Все программы
администрирования действуют как редакторы, которые вносят
изменения в файлы конфигурации Linux. При желании эти
файлы можно редактировать и вносить в них изменения
вручную. решаемые при этом задачи администрирования
остаются теми же.

21.

Минимальные требования к компьютеру
ОС
Ubuntu x32 предъявляет следующие минимальные
требования к компьютеру:
• Процессор: 1 Ггц;
• ОЗУ: 512 Мб;
• Свободное место на HDD: 5 Гб;
• Видеоадаптер: дискретный или интегрированный.
ОС Ubuntu x64 предъявляет следующие минимальные
требования к компьютеру:
• Процессор: 2 ГГц x2;
• ОЗУ: 4 Гб;
• Свободное место на HDD: 20 Гб;
• Видеоадаптер: дискретный или интегрированный.

22. Процедура загрузки ОС Linux

После включения питания компьютера и завершения
тестирования аппаратной части BIOS считывает из первого
сектора загрузочного диска короткую программу – загрузчик.
Эта программ запускает основной системный загрузчик,
который, в свою очередь, загружает в память ядро системы.
Сразу после загрузки ядро монтирует корневую файловую
систему и запускает процесс init. Процесс init – это программа,
которая ответственна за продолжение процедуры загрузки, и
перевод системы от начального состояния, возникающего
после загрузки ядра, в стандартное состояние обработки
запросов многих пользователей. Init выполняет ещё массу
различных операций, необходимых для дальнейшей работы
системы: проверку и монтирование файловых систем, запуск
различных служб (демонов), оболочек пользователей и т. д.

23. Процедура загрузки ОС Linux

Точный список этих операций зависит от уровня выполнения.
Уровень выполнения определяет перечень действий, выполняемых
процессом Init, и состояние системы после загрузки, т.е.
конфигурацию запущенных процессов. Уровень выполнения
обозначается символом. Существует 8 основных уровней выполнения:
0 – остановка системы
1 – однопользовательский режим (с администрированием)
2 – многопользовательский режим без работы с сетью
3 – полный многопользовательский режим
4 – использование не регламентировано
5 – запуск системы в графическом режиме
6 – перезагрузка системы
S – аналог 1
Уровни 0,1,6 зарезервированы для особых случаев. По
использованию уровней 2-5 единого мнения не существует.

24. Процедура загрузки ОС Linux

После
старта
процесс
Init
считывает
свой
конфигурационный файл. Он состоит из нескольких строк,
каждая из которых содержит 4 поля, разделённых двоеточием:
id – идентификатор строки. Это произвольная комбинация,
содержащая от 1 до 4 символов. В файле inittab не может быть
двух строк с одинаковыми идентификаторами;
runlevels – уровни выполнения, на которых эта строка
будет задействована. Уровни задаются цифрами или буквами
без разделителей, например, 345;
process – процесс, который должен запускаться на
указанных уровнях. Другими словами в этом поле указывается
имя программы, вызываемой при переходе на указанные
уровни выполнения;
action – действие.

25. Процедура загрузки ОС Linux

После завершения загрузки init продолжает работать в фоновом
режиме, отслеживая изменения в состоянии системы.
Таким образом, процесс начальной загрузки init находится в
оперативной памяти и при получении соответствующих сигналов
повторно выполняет цикл чтения из файла /etc/inittab инструкций о
том, что нужно делать, причем этот набор инструкций различен для
разных уровней выполнения.
Когда суперпользователь
останавливает систему (командой
shutdown), именно init завершает все другие исполняющиеся
процессы, размонтирует все файловые и останавливает процессор.
В файле /etc/init.d/rc содержатся команды инициализации системы,
в том числе команды установки системных переменных, загрузки
таблиц раскладки клавиатуры (командой load keys) и системного
шрифта ( команда console chars), монтирования и проверки файловых
систем, загрузки модулей, графической оболочки и т.д. Этот файл
играет важную роль в процессе загрузки, поскольку он содержит
основные скрипты (программы на языке командного процессора),
служащие для организации процесса загрузки.
English     Русский Правила