Многопроцессорные системы Операционные системы UNIX - OXFORDST.RU

Многопроцессорные системы Операционные системы UNIX

Что такое UNIX и зачем он нужен

Операционная система, которая изменила мир, хотя в ней почти никто не работал

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

Статья расширяет кругозор и помогает лучше понять информатику, но не имеет прикладной ценности. Если вам нужно что-то прикладное — прочитайте про размеры элементов в CSS.

Однозадачные компьютеры

Когда компьютеры только начали появляться, то работали они примерно так:

  1. Компьютер включался.
  2. Находил на носителе информации первую команду программы, которую нужно выполнить.
  3. Выполнял эту команду и переходил к следующей.
  4. Так происходило, пока в программе не заканчивались шаги или она сама не останавливалась. Тогда специальными командами оператор говорил компьютеру, где найти код для другой программы, или запускал первую программу заново.

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

Сначала такой подход всех устраивал, потом стало неудобно.

Многозадачные компьютеры

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

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

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

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

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

UNIX — многопользовательская операционная система

Создатели UNIX Кен Томпсон и Деннис Ритчи (который потом напишет язык C) решили проблему так:

  1. Есть один центральный компьютер — сервер, на котором выполняются все программы.
  2. Если кто-то хочет поработать за этим компьютером, то он подключается к нему не напрямую, а через терминал. Терминал — это монитор и клавиатура, которые соединены с сервером. Сам терминал ничего не считает, а только отправляет и получает результаты с сервера.
  3. Пользователь вводит свой логин и пароль и получает право запускать на сервере программы, которые ему нужны. При этом на сервере может быть запущено одновременно много программ от разных пользователей.
  4. Сервер помнит, кто на каком терминале зашёл под каким логином, поэтому результаты работы программы он отправляет в нужный терминал.

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

Операционную систему, которая умеет всё это делать, назвали UNIX — сокращение от Uniplexed Information and Computing Service (единый информационно-вычислительный сервис). Изначально это называлось UNICS, но потом последние две буквы превратились в одну.

Что нового появилось в UNIX, чего до неё не было

Вот что впервые появилось именно в UNIX — и в виде идей, и в виде готового кода:

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

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

Работа с программами напрямую. До UNIX настройку работы всех программ можно было сделать только в командной строке: запустил → компьютер что-то посчитал → показал результат. Если нужно изменить параметры, то это надо было делать через командную строку. В новой системе можно было менять настройки программ прямо внутри них — именно так и устроены сейчас все программы.

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

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

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

Язык C. Этот язык появился в UNIX как замена языка B. Но B был интерпретируемым языком (как Python), и для запуска программ нужен был его интерпретатор. Язык C — компилируемый, а значит, готовые программы можно запускать на любом совместимом компьютере, даже если на нём нет компилятора C.

Протокол TCP/IP. До UNIX этот протокол не был популярен, и компьютеры связывались друг с другом по более старому протоколу, который не имел столько возможностей. Теперь благодаря этой операционной системе весь мир пользуется интернетом, построенным на протоколе TCP/IP. Справедливости ради, этот протокол появился не в первой поставке UNIX.

Как работают в UNIX

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

Как UNIX стал стандартом

С середины 1970-х годов идёт довольно мутная история, в которой компания
AT&T долго и небезуспешно пытается заработать на UNIX, а американские университеты и инженеры-любители делают свою открытую версию. Идёт конкуренция между стандартами, инструментами, поставками и протоколами.

Конкуренция выливается в то, что у UNIX появляется множество более совершенных потомков. Их мы называем Unix-подобными системами.

Можно сказать, что Unix-подобность — это такой набор правил, условностей и стандартов, которых должны придерживаться новые операционки, чтобы сохранять преемственность и некоторую совместимость. То есть такой ГОСТ для операционных систем. Операционка может быть и без ГОСТа, но с ним лучше.

Где сегодня используется UNIX

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

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

UNIX-подобные системы

На основе оригинальных версий Юникса появилось много разных операционных систем: BSD, Solaris, HP-UX и даже MacOS, который сделан на основе BSD версии 4.4. Идеи, которые были заложены 50 лет назад, оказались настолько рабочими, что применяются до сих пор.

А ещё есть Linux и его производные — RedHat, Calculate, Ubuntu и ещё сотня дистрибутивов. Многие думают, что Линукс — это развитие Юникса, но на самом деле это полностью самостоятельное и независимое от него семейство операционных систем, хотя и слова похожие. Про Линукс обязательно расскажем в следующей статье.

Читайте также  Межбанковские расчетные отношения

Операционные системы на основе Unix

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

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

Немного истории

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

Данная ОС была создана в 70-х годах и являла собой удобный инструментарий для программистов, которые занимались развитием вычислительных машин. Особенность этой системы — хорошо написанный компактный код, который состоит не более чем из 12 миллионов строк.

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

Очередной этап развития операционной системы начался с появлением в 80-х годах первых персональных компьютеров, а с появлением первых 32-разрядных процессоров производства компании Intel, платформа UNIX получила совершенно новый и очень перспективны путь развития.

Но, не смотря на то, что оперативная система UNIX имеет столько достоинств и, получить свое развитие она могла практически в любом направлении, полностью реализовать совой потенциал и работоспособность она смогла только с появлением глобальной сети Internet. Все технологии и концепции, на которых строился Интернет, так или иначе связаны с системой UNIX. Все базовые протоколы передачи данных и коммутации различных устройств, которые находятся в сети, таких как TCP/IP и SMTP, напрямую связаны с технологией UNIX.

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

Преимущества UNIX

Что же делает систему UNIX и операционные системы на ее базе такими уникальными? Одним из самых главных отличий UNIX от таких систем как DOS, Windows, NetWare, является ее многозадачность и возможности эксплуатации системы в многопользовательском режиме без каких либо ошибок, что достигается довольно простой и действенной моделью иерархии пользователей. Многозадачность позволяет системе, на базе данной ОС, выполнят одновременно несколько возложенных на нее функций, как, например, работать с базой данных, запускать приложения, открывать и редактировать файлы, выполнять обмен информацией и обслуживать запросы одновременно нескольких пользователей. Доказательством эффективности многопользовательского режима реализованного на базе UNIX служит тот факт, что даже фирма Microsoft после долгого времени реализации своих ОС как просто многозадачных, признала данный подход к функциональности системы.

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

Потоки и многозадачность

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

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

Исполнение без задержек (режим реального времени)

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

Обширность реализаций

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

Устойчивость системы

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

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

UNIX и мультипроцессорные системы

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

Организация кластеров

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

Кластерами могут быть как обычные однопроцессорные системы, так и многопроцессорные системы. Реализация рабочих станций в виде кластеров, обеспечивает дополнительную надежность системе, так как при таком построении при выходе из строя одного кластера, его процессы на себя перебирают другие, работоспособные станции. Еще одним очень важным преимуществом такой организации, является возможность усовершенствования системы путем ввода новых кластеров и улучшения уже работающих. Для создания и поддержки работоспособности такой архитектуры, требуется операционная система, которая обладает хорошей стабильностью и поддержкой мультипроцессорных систем, таких как SMP и MPP. Как раз такими свойствами и обладают системы UNIX. Также необходимо программное обеспечение, которое поддерживает такую архитектуру и совместимо с платформой UNIX которого благодаря открытости и перспективности данной ОС очень много. Почти все программное обеспечение, созданное для UNIX, поддерживает распределенные вычисления совместно с данной средой. Уже 80-е годы существовали такие архитектурные решение на основе платформы UNIX, что говорит о ее пригодности для создания таких систем.

Администрирование UNIX

Существует распространенное мнение, среди людей, которые никогда не сталкивались с установкой и администрированием систем на основе UNIX, что данные системы сложны к установке, не понятны и вообще, чтобы их использовать, необходимо знать много нюансов, что делает данные системы практически непригодными к использованию. Но это конечно не так, это мнение пришло вместе с засильем таких оперативных систем как Windows, делающие упор на интуитивно понятный интерфейс «окон».

Читайте также  Наука в техногенном мире

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

Все это говорит о том, что с точки зрения администратора и пользователя системы, реализованные на базе UNIX наиболее подходящее решение при выборе операционной системы.

Сохранность персональных данных

Так как среда UNIX — многопользовательская среда, вопрос безопасности и сохранности данных для нее является очень важным. Базовые понятия и принципы безопасности заложение в операционные системы на основе UNIX, сформированы на основе критерий надежности NCSC. Эти критерии оговаривают четыре уровня безопасности (A, B, C, D), которые в свою очередь делятся на подклассы, которым помимо буквы присваивается цифра, чем больше эта число, тем лучше уровень безопасности. Как стандарт ОС UNIX имеет уровень С2, но при желании за счет специальных модулей и компонентов его можно повысить.

Экономическая выгода

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

Программное обеспечение под UNIX

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ГЛАВА 12. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ

ГЛАВА 12. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ

В классической постановке для системы UNIX предполагается использование однопроцессорной архитектуры, состоящей из одного ЦП, памяти и периферийных устройств. Многопроцессорная архитектура, напротив, включает в себя два и более ЦП, совместно использующих общую память и периферийные устройства (Рисунок 12.1), располагая большими возможностями в увеличении производительности системы, связанными с одновременным исполнением процессов на разных ЦП. Каждый ЦП функционирует независимо от других, но все они работают с одним и тем же ядром операционной системы. Поведение процессов в такой системе ничем не отличается от поведения в однопроцессорной системе — с сохранением семантики обращения к каждой системной функции — но при этом они могут открыто перемещаться с одного процессора на другой. Хотя, к сожалению, это не приводит к снижению затрат процессорного времени, связанного с выполнением процесса. Отдельные многопроцессорные системы называются системами с присоединенными процессорами, поскольку в них периферийные устройства доступны не для всех процессоров. За исключением особо оговоренных случаев, в настоящей главе не проводится никаких различий между системами с присоединенными процессорами и остальными классами многопроцессорных систем.

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

Рисунок 12.1. Многопроцессорная конфигурация

Читайте также

Масштабируемые многопроцессорные системы с общей памятью

Масштабируемые многопроцессорные системы с общей памятью Системы с централизованной и распределенной общей памятью мы рассматривали в главе 2.В первой из них имеется центральная память, которую совместно используют несколько процессоров, и именно такую модель имеют в

Глава 10 Администрирование системы

Глава 10 Администрирование системы • Ограничения доступа к файлам и борьба с ними• Управление жесткими дисками• Средства диагностики системы• Новые возможности администрирования с помощью групповой политики• Автоматизация выполнения заданий с помощью

Глава 12 Восстановление системы

Глава 12 Восстановление системы • Решение проблем, связанных с загрузкой Windows Vista• Работа со средствами восстановления на установочном DVD• Восстановление системы с помощью образа дискаWindows Vista является достаточно надежной операционной системой, но и она не

Глава 5. Подготовка системы LFS

Глава 5. Подготовка системы LFS Вступление В этой главе мы скомпилируем и установим минимальную Linux-систему. Эта система будет располагать инструментами, необходимыми для сборки окончательной системы LFS в следующей главе.Файлы, скомпилированные в данной главе, будут

Глава 12 Мониторинг системы

Глава 12 Мониторинг системы Первоначальная задача администратора — установить систему, правильно распределить права доступа и настроить все необходимые сервисы. После этого многие из них складывают ручки и начинают гонять монстров по коридорам виртуального мира Doom3.

Глава 6 Файловые системы

Глава 6 Файловые системы Файловая система обеспечивает работу важнейших функций; основные из них перечислены ниже.Поддержка целостности данных и предоставление пользователю необходимых возможностей для создания, удаления, чтения и записи файлов.Предоставление

Глава 10 Обзор системы

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

Глава 16. OCR — системы

Глава 16. OCR — системы Так называемые системы оптического распознавания символов (Optical Character Recognition — OCR) предназначены для автоматического ввода печатных материалов в компьютер, при этом сам процесс подобного ввода проходит в три этапа:• Сканирование.• Обработка.•

Глава 4 Системы координат

Глава 4 Системы координат Ввод координат Динамический ввод координат Декартовы и полярные координаты Формирование точек методом «направление – расстояние» Определение трехмерных координат Правило правой руки Ввод трехмерных декартовых координат Ввод цилиндрических

Глава 3 Системы координат

Глава 3 Системы координат Ввод координат Ввод координат в AutoCAD может осуществляться двумя способами:? непосредственно с клавиатуры, путем указания численных значений;? с использованием графического маркера (курсора), который движется по экрану с помощью устройства

Глава 14 Экспертные системы

Глава 14 Экспертные системы Экспертная система — это программа, которая ведет себя подобно эксперту в некоторой проблемной области. Она должна иметь способность к объяснению своих решений и тех рассуждений, на основе которых эти решения были приняты. Часто от экспертной

ГЛАВА 3 Выбор ERP-системы

ГЛАВА 3 Выбор ERP-системы Системы SAP для средних и малых предприятий Большинство компаний, которые внедрят системы Планирования ресурсов предприятия (ERP) в новом тысячелетии, будут средними и малыми предприятиями. Средними и малыми предприятиями обычно считаются компании

Глава 5 Операционные системы

Глава 5 Операционные системы • Для чего предназначена операционная система• Популярные операционные системы• Выбор операционной системы• Программное обеспечение

OC UNIX, основные характеристики, файловая структура.

UNIX зародился в лаборатории Bell Labs фирмы AT&T более 20 лет назад.

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

Читайте также  Исследование фотоэлектрических свойств полупроводниковых материалов

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

ОС UNIX имеет следующие основные характеристики:

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

— поддержка одновременной работы многих пользователей;

— поддержка асинхронных процессов;

— иерархическая файловая система;

— поддержка независимых от устройств операций ввода-вывода (через специальные файлы устройств);

— стандартный интерфейс для программ (программные каналы, IPC) и пользователей (командный интерпретатор, не входящий в ядро ОС);

— встроенные средства учета использования системы.

Архитектура ОС UNIX — многоуровневая. На нижнем уровне работает ядрооперационной системы. Функции ядра ( управление процессами, памятью, обработка прерываний и т.д. ) доступны через интерфейс системных вызовов, образующих второй уровень. Системные вызовы обеспечивают программный интерфейс для доступа к процедурам ядра. На следующем уровне работают командные интерпретаторы, команды и утилиты системного администрирования, коммуникационные драйверы и протоколы, — все то, что обычно относят к системному программному обеспечению. Внешний уровень образуют прикладные программыпользователя, сетевые и другие коммуникационные службы, СУБД и утилиты.

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

Логическая файловая система в ОС UNIX (или просто файловая система) — это иерархически организованная структура всех каталогов и файлов в системе, начинающаяся с корневого каталога. Файловая система UNIX обеспечивает унифицированный интерфейс доступа к данным, расположенным на различных носителях, и к периферийным устройствам. Логическая файловая система может состоять из одной или нескольких физических файловых (под)систем, являющихся разделами физических носителей (дисков, CD-ROM или дискет).

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

Иерархическая структура файловой системы UNIX упрощает ориентацию в ней. Каждый каталог, начиная с корневого (/), в свою очередь, содержит файлы и подкаталоги.

В ОС UNIX нет теоретических ограничений на количество вложенных каталогов, но есть ограничения на максимальную длину имени файла, которое указывается в командах — 1024 символов.

В UNIX существует несколько типов файлов, различающихся по функциональному назначению:

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

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

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

FIFO — именованный канал.Этот файл используется для связи между процессами по принципу очереди.

Сокет-позволяют представить в виде файла сетевое соединение.

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

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

Имеется много типов физических файловых систем, например FAT16 и NTFS, с разной структурой. Более того, имеется множество типов физических файловых систем UNIX (ufs, s5fs, ext2, vxfs, jfs, ffs и т.д.).

Многопроцессорные операционные системы

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

1. Операционные системы мэйнфреймов

К высшей категории относятся операционные системы мейнфреймов (больших универсальных машин) — компьютеров, занимающих целые залы и до сих пор еще встречающихся в крупных центрах обработки корпоративных данных. Такие компьютеры отличаются от персональных компьютеров по объемам ввода-вывода данных. Мейнфреймы, имеющие тысячи дисков и петабайты данных — весьма обычное явление, а персональный компьютер с таким арсеналом стал бы предметом зависти. Мейнфреймы также находят применение в качестве мощных веб-серверов, серверов крупных интернет-магазинов и серверов, занимающихся межкорпоративными транзакциями.

Операционные системы мейнфреймов ориентированы преимущественно на одновременную обработку множества заданий, большинство из которых требует колоссальных объемов ввода-вывода данных. Обычно они предлагают три вида обслуживания: пакетную обработку, обработку транзакций и работу в режиме разделения времени. Пакетная обработка — это одна из систем обработки стандартных заданий без участия пользователей. В пакетном режиме осуществляется обработка исков в страховых компаниях или отчетов о продажах сети магазинов. Системы обработки транзакций справляются с большим количеством мелких запросов, к примеру обработками чеков в банках или бронированием авиабилетов. Каждая элементарная операция невелика по объему, но система может справляться с сотнями и тысячами операций в секунду. Работа в режиме разделения времени дает возможность множеству удаленных пользователей одновременно запускать на компьютере свои задания, например запросы к большой базе данных. Все эти функции тесно связаны друг с другом, и зачастую операционные системы универсальных машин выполняют их в комплексе. Примером операционной системы универсальных машин может послужить OS/390, наследница OS/360. Однако эти операционные системы постепенно вытесняются вариантами операционной системы UNIX, например Linux.

2. Серверные операционные системы

Чуть ниже по уровню стоят серверные операционные системы. Они работают на серверах, которые представлены очень мощными персональными компьютерами, рабочими станциями или даже универсальными машинами. Они одновременно обслуживают по сети множество пользователей, предоставляя им общий доступ к аппаратным и программным ресурсам. Серверы могут предоставлять услуги печати, хранения файлов или веб-служб. Интернет-провайдеры для обслуживания своих клиентов обычно задействуют сразу несколько серверных машин. При обслуживании веб-сайтов серверы хранят веб-страницы и обрабатывают поступающие запросы. Типичными представителями серверных операционных систем являются Solaris, FreeBSD, Linux и Windows Server 200x.

Многопроцессорные операционные системы

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

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

Статьи к прочтению:

  • Многоуровневая файловая система
  • Моделирование системной динамики в ithink

Многопроцессорные системы и сети

Похожие статьи:

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

Классификация ОС 1. Классификация операционных систем по мощности аппаратных средств. 2 1.1. Операционные системы мэйнфреймов. 2 1.2. Серверные…

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: