Знакомство с ос семейства unix

Операционная система GNU/Linux — ABC Unix

знакомство с ос семейства unix

Знакомство с операционными системами UNIX и Windows ХР UNIX. Операционная система UNIX была разработана в компании Bell Labs в начале х . не относящиеся к семейству Intel (DEC Alpha, IBM Power PC и SGI MIPS). Linux для начинающих - Знакомство с Linux - Бесплатная альтернатива в том, что операционная система Linux относится к семейству Unix-подобных . Сегодня Linux - это полноценная ОС семейства UNIX, способная работать с X . Главу 3 для начального знакомства с базовыми командами UNIX).

В июне года суд поставил точку в этом вопросе, подтвердив вынесенный ранее в апреле очередной вердикт в пользу Novell и отказав SCO Group в рассмотрении дальнейших жалоб [6].

Влияние Unix на эволюцию операционных систем[ править править код ] Unix-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения.

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

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

Язык командной оболочки Unix используется пользователем как для интерактивной работы, так и для написания скриптовто есть не существует отдельного языка описания заданий, как, например, в системе JCL фирмы IBM.

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

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

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

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

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

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

Со временем ведущие разработчики Unix разработали культурные нормы разработки программного обеспечения, которые стали столь же важны, как и сам Unix. Социальная роль в сообществе ИТ-профессионалов и историческая роль[ править править код ] Возможно, этот раздел содержит оригинальное исследование.

Добавьте ссылки на источникив противном случае он может быть удалён. Дополнительные сведения могут быть на странице обсуждения. Невзирая на то, что по ряду мнений[ чьих? Производители аппаратуры в то время часто прохладно относились к Unix, считая её игрушечной, и предлагая свою проприетарную ОС для серьёзной работы — в первую очередь СУБД и основанных на них бизнес-приложений в коммерческих структурах.

К этому прислушивались корпорации, но не академическая среда, которая имела всё для себя необходимое в Unix, зачастую не требовала официальной поддержки от производителя, справляясь своими силами, и ценила дешевизну и переносимость Unix.

знакомство с ос семейства unix

Таким образом, Unix была едва ли не первой переносимой на разную аппаратуру ОС. Ещё до того существовали. Среди производителей таких машин выделялась компания Sun Microsystemsсделавшая себе на них имя. До появления RISC-процессоров в этих станциях обычно использовался процессор Motorola x0тот же, что и в компьютерах фирмы Apple хотя и под более развитой операционной системой, чем у Apple.

Знакомство с операционными системами UNIX и Windows ХР

Около года на рынке появились коммерческие реализации процессоров RISC-архитектуры. Логичным решением ряда компаний Sun и других был перенос Unix на эти архитектуры, что немедленно повлекло за собой и перенос всей экосистемы ПО для Unix. Проприетарные серьёзные ОС, такие как VMS, начали свой закат именно с этого момента даже если и удалось перенести на RISC саму ОС, всё было намного сложнее с приложениями под неё, которые в этих экосистемах зачастую разрабатывались на ассемблере или же на проприетарных языках типа BLISSи Unix стал ОС для самых мощных компьютеров в мире.

Огромные преимущества GUI, а также, например, унифицированная поддержка всех типов принтеров, были оценены и разработчиками, и пользователями. Что же касается GUI для Unix, называемого X11 были и иные реализации, много менее популярныето он не мог полноценно работать на обычной пользовательской PC ввиду требований к памяти — для нормальной работы X11 требовалось 16 МБ, в то время как Windows 3.

При высоких ценах на память это было лимитирующим фактором.

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

Успех Windows дал импульс внутреннему проекту Microsoft под названием Windows NTкоторая была совместима с Windows по API, но при этом имела всё те же архитектурные особенности серьёзной ОС, что и Unix — многозадачность, полноценную защиту памяти, поддержку многопроцессорных машин, права доступа к файлам и каталогам, системный журнал.

Также Windows NT представила журнальную файловую систему NTFSкоторая по возможностям на тот момент превышала все стандартно поставляемые с Unix файловые системы — аналоги под Unix были только отдельными коммерческими продуктами от Veritas и.

Многие в то время не верили в возможность Microsoft, традиционно специализирующейся на настольном ПО, быть игроком на рынке ПО масштаба предприятия, где уже были свои громкие имена, такие как Oracle и Sun.

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

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

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

чЧЕДЕОЙЕ Ч LINUX

Она состоит из небольшого ядра, которое работает в привилегированном режиме, и нескольких серверных процессов, работающих в пользовательском режиме. Пользовательские процессы взаимодействуют с серверными процессами в соответствии с моделью клиент-сервер: Однако из соображений производительности, начиная с Windows NT 4.

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

Практически все модули написаны на языке С, 1 Необходимо заметить, что, в отличие от UNIX, Windows ХР не позволяет нескольким пользователям одновременно работать с компьютером, поскольку это однотерминальная система, тогда как UNIX - система мультитерминальная. Однако через сеть с Windows ХР могут одновременно взаимодействовать несколько пользователей, оставаясь при этом у своих компьютеров.

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

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

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

знакомство с ос семейства unix

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

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

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

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

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

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

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

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

Он также обрабатывает некоторые системные вызовы, связанные с виртуальной памятью.

знакомство с ос семейства unix

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

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

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

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

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

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

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