Знакомство с операционной системой unix

Введение в администрирование UNIX/Командная строка UNIX — Викиучебник

знакомство с операционной системой unix

Даже больше, сама по себе операционная система не имеет никакой Linux , создававшийся по образу и подобию UNIX-систем. «Основы работы в операционной системе Linux». С.А. Немнюгин. Тема 1. Первое знакомство с ОС UNIX. Операционные системы. Операционная. Linux для начинающих - Знакомство с Linux - Бесплатная альтернатива Windows Но рост популярности операционной системы Linux у рядовых в том, что операционная система Linux относится к семейству Unix- подобных.

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

Самый нижний уровень содержит файловые системы и диспетчер объектов. Файловые системы управляют файлами и каталогами.

знакомство с операционной системой unix

Диспетчер объектов управляет объектами, известными ядру, в том числе процессами, программными потоками их еще называют легковесными процессами, действующими внутри адресного пространствакаталогами, семафорами, устройствами ввода-вывода, тактовыми генераторами и.

Диспетчер объектов управляет также пространством имен, куда можно помещать новые объекты, потом при необходимости к этим объектам можно обращаться. Следующий уровень состоит из 6 основных частей, как показано на рис. Диспетчер ввода-вывода обеспечивает управление устройствами ввода-вывода, а также предоставляет базовые услуги по вводу-выводу. При этом диспетчер ввода-вывода использует службы файловой системы, которая, в свою очередь, использует драйверы устройств, а также службы диспетчера объектов.

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

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

знакомство с операционной системой unix

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

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

Он также обрабатывает некоторые системные вызовы, связанные с виртуальной памятью. Диспетчер процессов и потоков управляет процессами и программными потоками, в том числе их созданием и удалением. Акцент делается не на политику применения процессов и потоков, а на механизмы управления ими.

Монитор безопасности включает механизм безопасности Windows ХР, который соответствует требованиям Оранжевой книги министерства обороны США. В Оранжевой книге перечисляется огромное количество правил, которым должна удовлетворять система, начиная с пароля и заканчивая обнулением виртуальных страниц перед их повторным использованием.

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

Он также предоставляет драйверы устройств для вывода графики. В первых версиях Windows ХР интерфейс графических устройств был реализован в пользовательском пространстве, однако производительность в этом случае оставляла желать лучшего, поэтому программисты компании Microsoft перенесли его в ядро.

Многими системными вызовами управляет также модуль Win Изначально он тоже располагался в пользовательском пространстве, но позднее с целью повышения производительности был перемещен в ядро.

Самый верхний уровень исполняющей системы - системные службы. Они предоставляют интерфейс к исполняющей системе. Системные службы получают системные вызовы Windows ХР и для их выполнения вызывают другие части исполняющейся системы.

Урок 1. Введение в ОС Linux/Unix

Вне ядра находятся пользовательские программы и подсистема окружения. Потребность в подсистеме окружения объясняется тем, что пользовательские программы не ориентированы на самостоятельное выполнение системных вызовов хотя технически такая возможность у них. Поэтому подсистема окружения экспортирует определенную группу вызовов функций, с которыми пользовательские программы могут работать.

  • Знакомство с Linux специально для пользователей Windows
  • ЛР №1. ОС Linux. Первое знакомство
  • Знакомство с операционными системами UNIX и Windows ХР

Изначально существовали три подсистемы окружения: Из них на данный момент поддерживается только подсистема Win В то же время, существует ряд новых служб модуля UNIX, в некоторой степени обеспечивающих поддержку этой операционной системы.

Приложения Windows используют функции подсистемы Win32 и взаимодействуют с этой подсистемой, чтобы делать системные вызовы. Подсистема Win32 принимает вызовы функций Win32 и использует библиотечный модуль системного интерфейса фактически он представляет собой DLL-файл - подробнее см. Перейдем к обсуждению услуг, которые предоставляет операционная система Windows ХР. Ее интерфейс - это основное средство связи программиста с системой. К сожалению, компания Microsoft не опубликовала полный список системных вызовов Windows ХР, и, кроме того, она меняет их от выпуска к выпуску.

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

Это библиотечные функции, которые выполняют определенные действия либо в системе путем системных вызовов, либо в некоторых случаях непосредственно в библиотечной процедуре пользовательского пространства или подсистеме Win Так как вызовы Win32 API документированы и достаточно стабильны, мы сосредоточим наше внимание именно на них, а не на системных вызовах Windows ХР.

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

В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin, stdout и поток вывода ошибок stderr. Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода.

Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда: Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это "хвост" этого вывода: Но ведь нам и не нужен весь вывод этой команды, нас интересуют исключительно пакеты squid.

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

Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу. Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid.

Просто и понятно, все опции как на ладони. Это стало возможным в результате использования конвейера трех команд, первая вывела в поток содержимое файла, вторая отобрала все строки кроме комментариев, а третья удалила пустые, результат мы направили в файл.

И это надо помнить! Потому что, в отличие от Windows, myfile. TXT - это три разных файла. В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв.

Расширения и типы файлов В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg, то он не запустится, и система будет пытаться обработать его как картинку. В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя.

Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat, в Linux для этого нужно сделать файл исполняемым.

Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript. На самом деле расширение. Позвольте, скажет иной читатель, это ведь сколько всего надо помнить: Тут нужно справочник покупать или всегда интернет под рукой держать Вовсе нет, достаточно помнить названия команд, это как раз несложно, по сложившимся в UNIX традициям, командам дают короткие и удобные имена.

А все остальное можно спросить у системы. Вопреки распространенному мнению, Linux системы прекрасно документированы. Посмотреть синтаксис и ключи любой команды можно запустив ее с ключом --help, а так как описания обычно не помещаются на один экран, то следует перенаправить вывод справки утилите more, которая выведет информацию поэкранно.

Допустим, нас интересует команда grep: Вам ничего не напоминает последний скриншот? Нисколько не умаляя значение этого ресурса, можно сказать, что взяв на вооружение команду man и базовые познания в английском, OpenNET вы будете посещать гораздо реже. Заключение Надеемся, что после прочтения данной статьи начинающие администраторы будут лучше себе представлять устройство Linux-систем и их принципиальные отличия от привычного им Windows.

знакомство с операционной системой unix

Чтобы отменить поиск и вернуться в исходное состояние, можно нажать CTRL-g. И наконец, нажатие Enter приведет к немедленному исполнению найденной команды. Использование автоматического дополнения в командной строке Автоматическое дополнение completion позволяет значительно ускорить ввод команд, имен файлов, имен переменных и имен машин в командной строке.

В таком случае в bash достаточно набрать в начале командной строки эти три буквы и нажать клавишу Tab. При этом остальные символы, формирующие имя команды, будут вставлены автоматически.

В оболочке bash поддерживается несколько типов дополнения и множество комбинаций клавиш для их активизации. Рассмотрим лишь две наиболее полезные возможности выполнять автоматическое дополнение табл. Дополнение с помощью Tab может работать по-разному в зависимости от использования контекста. Если однозначного варианта не найдено, независимо от типа дополнения дописывается только часть, совпадающая во всех вариантах, и, в зависимости от конфигурации оболочки, может быть выведен список подходящих дополнений.

Чтобы однозначно идентифицировать любой файл, можно указать путь к этому файлу от корневого или текущего каталога. Все элементы пути отделяются друг от друга символом прямой косой черты. Если первый символ строки также косая черта, то путь берет начало в корневом каталоге, в противном случае в текущем.

Путь с единственным именем обозначает файл в текущем каталоге. В Unix у каждого процесса собственный текущий каталог. Следует отметить, что символ косой черты не является частью имен каталогов, а лишь указывает, что данные элементы находятся в 23 19 корневом каталоге. Первый из них служит указателем на однозначно определенный родительский каталог вышестоящийа второй на данный текущий каталог. Формирование имен файлов В связи с тем, что зачастую для одного языка существует несколько кодировок например, для русского языка существуют следующие кодировки: В каждой конкретной ОС в именах файлов могут быть допустимы и другие символы, но их использование может привести к некорректности работы некоторых программ и, кроме того, может затруднить перенос файлов между разными ОС.

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

знакомство с операционной системой unix

Максимальный размер файла в файловой системе также зависит от ее типа. Для современных файловых систем размер файла более 4 Гбайт не является проблемой. Как отмечалось выше, прописные и строчные буквы в системе Unix различаются.

ЛР №1. ОС Linux. Первое знакомство | Открытое программное обеспечение

При этом файлы, отличающиеся только регистром букв, могут находиться в одном каталоге. В отличие от системы MS-DOS, знак точки является обычным символом, допустимым в любом месте имени файла, а такого понятия, как расширение имени файла, строго говоря, в системе Unix. Тем не менее, последние части имен файлов, отделенные от остальной части имени точками, часто указывают на тип файла.

Точка, являющаяся первым символом имени файла или каталога, имеет особое значение: Этим часто пользуются для именования служебных файлов, на которые не имеет смысла обращать особое внимание. Просмотр и интерпретация прав доступа к файлам ОС семейства Unix традиционно многопользовательские системы. Человек, зарегистрированный в учетных файлах системы и, 25 21 следовательно, имеющий учетное имя, называется зарегистрированным пользователем системы.

Регистрацию новых пользователей обычно выполняет администратор системы. Основными минимальными данными, требуемыми для регистрации пользователя в системе, являются имя пользователя; название группы, к которой относится пользователь; пароль.

Разрешение на чтение позволяет пользователю читать содержимое файлов, а в случае каталогов просматривать перечень имен файлов в каталоге используя, например, команду ls. Разрешение на запись позволяет пользователю писать в файл. Для каталогов это дает право создавать в каталоге новые файлы и каталоги или удалять файлы в этом каталоге. Наконец, разрешение на выполнение позволяет пользователю запускать файлы на исполнение как программы в машинном коде, так и командные файлы.

Разрешение на выполнение применительно к каталогам означает возможность перехода в этот каталог например, командой cd. Поэтому для каталогов право выполнения часто называют правом поиска. Отметим, что для каталогов биты чтения и выполнения r и x чаще всего используются в паре. В атрибутах доступа к файлам, перечисленные типы прав доступа могут быть предоставлены для трех классов пользователей: Набор прав доступа для конкретных файлов можно просмотреть с помощью команды ls -l.

Набор букв и прочерков в левой части определяет тип файла первый символ и права доступа к файлу остальные девять символов.

знакомство с операционной системой unix

В приведенном примере первая запись относится к каталогу первая буква d и демонстрирует права доступа rwxrwxr-x. Вторая запись относится к обычному файлу прочерк на месте первого символа и показывает права rw-r Девять символов прав доступа определяют возможность чтения rзаписи w и выполнения x для владельца файла первые три символагруппы владельца следующие три символа и всех остальных последние три символа. Прочерки означают отсутствие соответствующих прав.

Следовательно, в приведенном примере john и все пользователи группы users могут просматривать и изменять содержимое каталога newdir, а также переходить в него, а остальные пользователи могут читать и переходить в этот каталог, но не могут создавать или удалять в нем новые файлы; john может читать и изменять файл archive Кроме символьного представления прав доступа часто используется цифровая форма.

В цифровом представлении права доступа составляются из трех восьмеричных цифр, каждая из которых определяет набор из трех битов полномочий rwx. Чтобы перевести права доступа из символьного представления в числовое, следует: Права доступа так же можно числовой форме путем суммирования восьмеричных значений отдельных битов прав доступа владелец имеет право на чтение; владелец имеет право на запись; владелец имеет право на выполнение; группа имеет право на чтение; группа имеет право на запись; группа имеет право на выполнение; остальные имеют право на чтение; 27 23 остальные имеют право на запись; остальные имеют право на выполнение.

Можно заметить, что для прав доступа rw-r получим: Типы файлов В ОС Unix имеются следующие основные типы файлов обычные файлы regular files ; каталоги directories ; символьные ссылки symbolic links ; файлы физических устройств device files ; именованные каналы named pipes ; доменные гнезда sockets.

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

Файлы устройств в Unix являются средством общения прикладных программ с драйверами оборудования компьютера. Для того, чтобы передать данные драйверу какого-либо устройства, прикладная программа должна произвести запись в соответствующий специальный файл. По аналогии, операция чтения из файла устройства означает получение данных от его драйвера.

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

Символьные ссылки могут указывать как на обычные файлы, так и на каталоги и файлы других типов. Через файлы такого типа два независимых процесса могут обмениваться данными: Гнезда это абстрактные конечные точки сетевого соединения. Записывая данные в этот файл, процесс отсылает их в сеть. При этом процессы, установившие связь через пару гнезд, могут быть запущены как на разных компьютерах, так и на одном. Чтобы сторонняя файловая система была доступна ОС Unix, необходимо осуществить операцию ее монтирования.

Фактически, монтирование это указание того, куда системе следует адресовываться при обращении к объектам сторонней файловой системы.

1. ЛАБОРАТОРНАЯ РАБОТА 1. ПРАКТИЧЕСКОЕ ЗНАКОМСТВО С ОПЕРАЦИОННОЙ СИСТЕМОЙ UNIX

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