Операционные системы на основе свободного программного обеспечения — Википедия
Свободные ядра, библиотеки, среды рабочего стола и другие компоненты используются как в свободных операционных системах, так и во включающих несвободное ПО, или состоящих из него почти полностью.
Основная статья: GNUВ 1983 году Ричард Столлман объявил о создании проекта GNU — попытке создания свободной UNIX-подобной операционной системы с нуля, без использования оригинального исходного кода. Большая часть программного обеспечения, разработанного в рамках данного проекта, — такого, как GNU toolchain, Glibc (стандартная библиотека языка Си) и Coreutils — играет ключевую роль в других свободных операционных системах. Однако работы по созданию замены для ядра UNIX, необходимые для полного выполнения задач GNU, продвигались крайне медленно. В настоящее время GNU Hurd — попытка создать современное ядро на основе микроядерной архитектуры Mach — всё ещё далека от завершения.
Неядерные компоненты GNU используются для создания ОС с такими ядрами как:
В 1991 году, когда Линус Торвальдс опубликовал ядро Linux и привлёк помощников, использование инструментов, разработанных в рамках проекта GNU, было очевидным выбором. Операционная система GNU и ядро Linux вместе составляют ОС, известную, как GNU/Linux. Дистрибутивы этой системы (такие как Red Hat и Debian), включающие ядро, утилиты GNU и дополнительное программное обеспечение стали популярными как среди любителей, так и среди представителей бизнеса.
Linux без компонентов GNU, или с совместимой, более лёгкой, заменой им, используется в ПО для встраиваемых и мобильных систем. Например, µCLinux использует uClibc. См. также: Android.
Основная статья: BSDВ результате урегулирования юридического дела, возбуждённого UNIX Systems Laboratories против университета Беркли и Berkeley Software Design Inc., было установлено, что университет может распространять BSD UNIX, в том числе и бесплатно. После этого были возобновлены эксперименты, связанные с BSD-версией UNIX. Вскоре разработка дистрибутива BSD была продолжена в нескольких направлениях одновременно, что привело к появлению таких проектов, как NetBSD и FreeBSD, а позднее — отпочковавшихся от них, соответственно, OpenBSD и DragonFly BSD, и других.
Darwin[править | править код]
Основная статья: DarwinDarwin — это открытая POSIX-совместимая операционная система, выпущенная Apple Inc. в 2000 году. Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP (система выпущена в 1989), FreeBSD (выпущена в 1993) и прочих свободных проектов. Система Darwin представляет собой набор основных компонентов, используемых в Mac OS X и Apple iOS. Она совместима с третьей версией спецификации единой UNIX (SUSv3) и POSIX-приложениями и утилитами.
Darwin построен на основе XNU — гибридного ядра, включающего микроядро Mach 3, некоторые части ОС семейства BSD (такие как модель процессов, сетевой стек, виртуальная файловая система) и I/O Kit — объектно-ориентированный API для написания драйверов.
На основе Darwin и GNU разрабатывалась свободная операционная система OpenDarwin, которая продолжает существовать в виде основы GNU-Darwin.
В 2005 году Sun Microsystems открыла исходный код операционной системы Solaris в рамках проекта OpenSolaris. Исходный код предоставляется под лицензией CDDL. В силу лицензионных ограничений, не все компоненты OpenSolaris открыты[1]; ведётся работа по переписыванию этих модулей. На основе OpenSolaris создано несколько дистрибутивов, в том числе BeleniX, Nexenta OS, AuroraUX и других. Операционные системы на основе OpenSolaris работают как на традиционных для Solaris платформах SPARC и x86, так и на PowerPC (проект Polaris), IBM System z (OpenSolaris for System z) и ARM[2].
Основная статья: SCOПосле разделения компании AT&T, товарный знак UNIX и права на оригинальный исходный код неоднократно меняли владельцев, в частности, длительное время принадлежали компании Novell.
В 1993 году Novell передала права на товарный знак и на сертификацию программного обеспечения на соответствие этому знаку консорциуму X/Open, который затем объединился с Open Software Foundation, образовав консорциум The Open Group. Он объединяет ведущие компьютерные корпорации и государственные организации, в том числе IBM, Hewlett-Packard, Sun, NASA и многие другие. Консорциум занимается разработкой открытых стандартов в области операционных систем, самым важным из которых является Single UNIX Specification, ранее известный как POSIX. С точки зрения The Open Group, название UNIX могут носить только системы, прошедшие сертификацию на соответствие Single UNIX Specification.
В 1995 году Novell продала права на существующие лицензии и дальнейшую разработку System V компании Santa Cruz Operation. В 2000 году Santa Cruz Operation продала свой UNIX-бизнес компании Caldera, которая затем была переименована в SCO Group. Хотя это название похоже на аббревиатуру SCO, используемую Santa Cruz Operation, это две разные компании.
SCO Group заявила, что она также обладает правами на исходный код UNIX и развернула кампанию против различных пользователей и поставщиков UNIX-подобных систем, требуя выплаты лицензионных отчислений. Однако Novell утверждает, что права на исходный код не были переданы Santa Cruz Operation и, таким образом, не перешли к SCO Group, а остаются у Novell, что и подтвердил вердикт суда.
Самые популярные операционные системы Windows
Знаменитая компания Microsoft еще в 1985 году разработала операционную систему Windows. В то же время была выпущена первая версия графической оболочки для MS-DOS. За период с 2009 по 2019 по официальным данным самой популярной в мире ОС среди семейства Windows на стационарных компьютерах является Windows 7, которой пользовались 44, 8% обладателей ПК. Второе место заняла WindowsXP – 32%. ХР – брендовая ОС, которой вот уже более 16 лет.
Доля рынка настольных версий Windows по всему миру за 2009-2019 года
7-я же версия была выпущена в 2009 году и теперь она уже проверенна временем. Сегодня на рынке программного обеспечение набирает популярности новая операционная система от компании Microsoft под названием Windows 10. Предыдущая операционная система Windows 8 не сыскала особой популярности. За 2019 год доля рынка настольных версий выглядит следующим образом:
- Windows 10 – 57,37%
- Windows 7 – 32.3%
- Windows 8 и 8.1 – 8%
- Windows XP 1,72%
Доля рынка настольных версий Windows по всему миру 2019 год
В современном мире развитие в области прикладного обеспечения развиваются семимильными шагами. Давайте попробуем изучить что нового нам предоставили разработчики новых версии ОС.
Интерфейс
ModernUI – подразумевает абсолютно новый интерфейс. ОС Windows 8 и 10 разрабатывалась не только для стационарных ПК, но и для планшетных компьютеров. Проектировщики много внимания уделили разработке возможности работы с разнообразными сенсорными экранами, а именно поддержке функций больших кнопок, развертывания полноэкранного режима и прочее.
Приложения
Windows включает стандартный набор приложений для просмотра аудио и видео файлов, проведение времени за игрой, в сети интернет с помощью браузера, работой с другими прикладными программами. Новая версия ОС обеспечит легкими покупками в онлайн-магазине WindowsStore, в котором размещено более 65 000 как бесплатных, так и платных приложений.
Еще одно интересное приложение разработанное специально под ОС Windows 8 – это Photos. Photos – средство для удобного просмотра фотографий, с помощью приложения легко размещать фотографии на жестком диске, съемных носителях и даже в соцсетях.
Самые популярные ОС на всех видах устройств за 2019 год
И напоследок приведу рейтинг популярности всех видов операционных систем за 2019 год в виде круговой диаграммы:
Поделиться ссылкой:
Похожие записи
Виды программного обеспечения компьютеров — перечислим кратко примеры ПО по назначению: какие бывают основные типы системных программ для ПК
Даже если нам кажется, что ПК намного умнее нас, он остается безжизненным «железом», пока в него не установят программы. Именно благодаря им техника начинает считать, думать и помогать в работе с любыми массивами данных. В статье мы кратко перечислим основные виды системного программного обеспечения для компьютеров и дадим каждому типу характеристику.
Понятие
Любой современный ПК – настольный, портативный или серверный, наполняется по схожему принципу. Если убрать лишнее, то любое ПО, даже простейшее, строится по похожему алгоритму. Должны выполняться пошаговые действия – следующий шаг начинается только после того, как завершился предыдущий.
Так, введенные с клавиатуры символы отображаются на экране, по командному клику пользователя принтер начинает печатать их на бумаге, а расчеты происходят сами после введения формулы. Любой шаг заранее программируется и называется командой для компьютера, совокупность этапов обозначается программируемым кодом.
Программисты – это люди, которые разрабатывают и настраивают ПО. Они могут управлять ПК с помощью одной строчки, в которую вводят части закодированной информации. Несколько символов в определенной последовательности включают музыку, отправляют документ на печать или открывают конкретную страницу интернет-ресурса.
Какие бывают типы программного обеспечения: характеристика программ
В современных компьютерах постоянно запускается и активно функционирует большое количество ПО с самым разным функционалом. Одни занимаются арифметическими расчетами, другие строят диаграммы, рисуют или помогают оставаться на линии с собеседниками через почту.
Однако ничего не активизируется просто так. Все действует под влиянием операционной системы. Кажется, что ОС совершенно не нужна – можно ведь запускать все напрямую. Иногда этот метод тоже применяется. Так работают станки ЧПУ, крупные автоматы производств, ЭВМ, другие серьезные механизмы, когда нужно постоянно повторять один и тот же алгоритм.
Но для персонального компьютера частое повторение команды не подходит. Пользователю хочется знать, какая погода в другом городе, как включить музыку и открыть текстовый документ для редактирования. Необходимо, чтобы ОС поддерживала режим многозадачности.
Со стороны программистов типы ПО обоснованы практической значимостью. Если бы не было операционной системы, пришлось бы все функции и алгоритмы вносить в один огромный код. Затраты времени на это были бы колоссальными.
ОС берет на себя большую часть рутинных задач, давая пользователям возможность работать в режиме многозадачности. Поэтому становится возможным запускать одновременно от 2 до бесконечности редакторов или визуализаторов.
Какие основные виды ПО бывают по назначению
Программное обеспечение, установленное на ПК, делится на 3 разновидности:
- прикладное;
- системное;
- инструментальное.
Системное
Это часть системы, которая помогает следить за аппаратной стороной ПК и управлять ею. Сюда входят программы, контролирующие работу оперативной памяти, центрального процессора, видеокарты, устройств ввода и вывода информации, сетевые подпрограммы.
Таким ПО считается:
- Драйверы – утилиты небольшого размера, функционирование которых заключается в обеспечении корректной работы остальных элементов оборудования;
- ОС;
- Дополнения – языковые пакеты или настройки расширения экрана.
Основное отличие системной разновидности считается то, что она не рассчитана на выполнение конкретной поставленной задачи. Она необходима, чтобы обеспечивать бесперебойную работу остальных частей компьютера. Ее можно назвать посредником между оборудованием – «железом» и программным кодом.
Прикладное
Наиболее обширная доля классификации. Сюда относятся графические и текстовые редакторы, браузеры, базы данных и все, что люди используют в привычной работе за компьютером. Здесь же находятся антивирусные пакеты, бухгалтерия и различные архивы.
Смысл этой разновидности в выполнении четко поставленной задачи: рисовать, учитывать, открывать сетевые страницы, набирать текст. Если утилита нужна для конкретного выполнения действия, то она является прикладным ПО.
Инструментальное
Специфическое обеспечение любой компьютерной техники. Его можно было бы отнести к прикладному, но из-за специфики применения его выделили в отдельный вид. Основная функция – отладка, настройка, переписывание программного кода.
Сюда входят компиляторы, отладчики, переводчики высокого уровня, редакторы, интерпретаторы и другие средства. Они необходимы, потому что техника не понимает человеческих слов. Чтобы ей «объяснить», что надо сделать, требуется специальный «машинный язык».
Постоянно пользоваться этим кодом базовым пользователям довольно сложно, поэтому были разработаны системы, которые позволяют переводить обычную речь в двоичную, привычную для ПК.
Разница между часто используемыми компиляторами и интерпретаторами заключается в том, что первый генерирует готовый файл, который можно запускать. А второй создает архив, который функционирует только с помощью самого сервиса.
Какие виды программного обеспечения (ПО) ПК вы знаете: примеры
Любой пользователь осведомлен, что такое пакет MS Office – текстовый редактор, утилита для работы с таблицами или презентациями. Многие пользуются веб-браузерами, с их помощью можно выйти в интернет. Использование других программ зависит от рода занятий владельца компьютера – архиваторы для сжатия размера файлов и контроля за архивами, системы управления базами данных, диспетчеры – они помогают перемещать, копировать и удалять различные документы. Важное место занимают почтовые клиенты для создания и отправки писем, а также Skype для формирования видеоконференций и звонков.
Программное обеспечение и его классификация: какие есть основные виды
Любое ПО делится в зависимости от признаков по функционалу и характеристикам, лицензионности использования, а также на разновидности по сгруппированным навыкам техники. Цель каждой из них – выполнять задачи и соблюдать интересы человека, использующего ПК.
По режиму эксплуатации
Сначала необходимо определить, какое количество людей будет пользоваться компьютером. Затем его разделяют на группы.
ПО может быть:
- Индивидуальным – использовать его будет только один пользователь, который владеет логином и паролем.
- Групповым – доступ имеют несколько человек или группа лиц на предприятии.
- Сетевым – программы доступны всем, кому по сети раздали копии.
По масштабу
Масштабность зависит от набора функций и ресурсов, которые будет поглощать система. Это небольшая утилита для работы с графиками или объемная база данных, а также множество других элементов. Бывает:
- малое;
- среднее;
- большое.
По стабильности
Стабильным считают те элементы обеспечения, которые способны корректно выполнять свои функции без сбоев при длительном использовании. Они не требуют доработки и справляются с ожидаемым объемом нагрузки.
Нестабильным считают оборудование, которое недавно вышло на рынок, и пока нет гарантий его бесперебойной работы в перспективе. Но иногда это единственное ПО, которое подходит под задачи клиента.
Делят на 3 класса:
- стабильное – внесение изменений маловероятно;
- средней стабильности – перемены вносятся дискретно;
- нестабильное – постоянные замены.
По функции
Функционал может быть узким или широким в зависимости от целей, которые ставит перед программами клиент. Условно можно разделить любое ПО на несколько типов:
- Машинно-логическое. Его задача – обработать обеспечение и предоставить его в виде осознанного программного кода с определенными свойствами и структурой.
- Интерфейсное. В его функционале – обработка и переработка двоичной системы в понятную для пользователя. С его помощью удается создать благоприятную среду «человек-компьютер».
- Аппаратно-механическое. Это ПО должно спрягать разные части ПК для передачи сигнала между компонентами.
- Информационно-командное. Создает структуру логистики и отправляют на исполнение.
- Прикладное. Проводят логические, математические, физические и иные действия с данными. Их функция – обработать массив так, чтобы она решала поставленную цель.
По требованию защиты
Для многих крупных компаний защищенность играет большую роль. Они не вправе допустить утечки информации, потому что это грозит потерей прибыли или репутации. По этой причине выбираются максимально действенные антивирусы, данные шифруются, а доступ есть не у всех.
По требованию надежности
Даже небольшие фирмы не могут себе позволить покупку или установку бесплатного софта сомнительного содержания. Даже уникальность функционала не будет оправданием использования подобного обеспечения.
Программы бывают:
- надежные;
- сомнительные.
По требуемым рабочим характеристикам
От любого ПО требуется выполнение определенного круга действий. Они должны быть:
- Гибкими и донастраиваемыми или неизменными – в зависимости от потребностей будущего владельца система может нуждаться в корректировке под требования.
- Универсальными – подходит под широкий спектр разноплановых задач.
- Полными – полностью выполняют алгоритм, после завершения цикла не требуются другие утилиты.
По исходному языку
То, каким образом написана программа, тоже влияет на ее функциональность. Существуют:
- Машинные – программирование, которое воспринимается аппаратной частью компьютера.
- Машинно-ориентированные – отражают структуру и работу конкретного ПК.
- Алгоритмические – работают независимо от архитектуры техники, формируют действенность определенного алгоритма (Бейсик, Паскаль и др.).
- Процедурно-ориентированные – выглядят как совокупность процедур и подпрограмм.
- Интегрированные – системы, внедренные в основные элементы работы.
- Проблемно-ориентированные – направлены на решение проблемы конкретного класса.
Каждый из них преобразовывает исходный код в зависимости от того, какими будут дальнейшие действия.
По прикладной области
Здесь деление зависит от типа, которым решают проблемы, предварительно их группируют по тематике и области. Они должны создавать приятную и удобную среду для пользователя. Бывают:
- Общего назначения – в их задачу входит выполнение широкого круга целей клиента. Это могут быть любые текстовые, графические и иные редакторы, браузеры, процессоры.
- Методо-ориентированные – использование разных способов решения через разнообразные методики. Смысл в выборе метода для обслуживания или программирования.
- Проблемно-ориентированные – во главе проблема в конкретной предметной области, которую необходимо решить любым доступным видом ПО.
По вычислительной системе и среде
Основные характеристики в этой классификации:
- алгоритмическая сложность и выдержанная логика;
- глубина проработки и реализации каждой функции;
- системность обработки;
- объемы файловой системы;
- разновидность процессора влияет на возможности софта.
По классу пользователя
От должности и назначения начинается разделение прав:
- специалист – ограниченный функционал;
- руководитель – расширенный;
- директор – почти все возможности;
- владелец – максимум функций.
У разных компьютеров может быть различный доступ к базам данных, архивам, отчетам, счетам, другой информации.
По требованию к вычислительным ресурсам
В зависимости от того, кто пользуется техникой, выделяют:
- Простой клиент – ПК, которым будет пользоваться сотрудник на невысокой должности, допускает только выполнение небольшого круга обязанностей.
- Расширенный пользователь – ПО, в котором у руководителя увеличенное количество работы и шире возможности, больше открытых папок с информацией и запросы к производительности техники.
- Максимум – отдельно стоящий ПК, обычно не связанный по желанию владельца с общей сетью компании, с максимальным набором доступных массивов.
По критичности
В зависимости от того, насколько критичным будет решение конкретной задачи пользователя, выделяют несколько типов:
- Секретность – необходимо обеспечить сохранность данных.
- Национальная безопасность – когда важно не допустить утечки в другие страны.
- Жизнь человека – использование должно быть безопасным.
- Паника или хаос в социальной сфере – нельзя позволить распространение общего панического состояния у населения.
- Частная собственность – желания компании не должны перечеркивать интересы отдельных граждан.
- Безопасность организации – посторонние не имеют права находиться на объектах фирмы, у них нет доступа к ПО.
По готовности
В зависимости от этого критерия делят на:
- индивидуальные разработки для конкретного предприятия или личности;
- софт для массового использования пользователями.
По представлению данных
Информация внутри компании находится в разной степени секретности доступа:
- свободный – разрешено видеть файлы всем;
- ограниченный – допускаются только люди определенной должности;
- индивидуальный – вход только для конкретных личностей.
По использованию программных данных
Работникам выдается разный доступ:
- все могут просматривать и редактировать;
- всем доступен просмотр, редактирование только для нескольких людей;
- никто не имеет права вносить изменения;
- даже видеть содержимое файлов вправе лишь определенные личности.
Если сложно разобраться в классификации программного обеспечения или нет понимания, какое из типов ПО потребуется, обратитесь в компанию «Клеверенс». Специалисты разберут с вами цели вашего бизнеса и помогут подобрать оптимальное оборудование, которое будет оперативно справляться с поставленными перед ним задачами.
По способу использования и распространения
Выделяют 6 видов ПО в зависимости от того, кто им будет пользоваться и на каких основаниях. Большая часть фирм нуждается в оригинальном лицензионном софте согласно закону. Давайте рассмотрим их поближе.
Free
Бесплатно распространяемые программы. Их разрешается свободно распространять, копировать и использовать без доплаты. При этом создатель компонента может брать оплату за отдельные услуги софта – копирование данных на диск, увеличения объема памяти и другие.
Adware
Еще один вид, которым допускается пользоваться без внесения денег. Внутри иногда содержатся рекламные ролики или функции, которые открываются только при условии покупки. Еще один вариант – необходимость установки дополнительных утилит для работы.
Для некоммерческого условно-бесплатного использования. То есть один пользователь использует ее для личных потребностей. Для регулярного пользования компанией любого размера предусмотрена оплата или запрет на работу.
Trial
Скрипт без внесения финансовых средств. Ограниченно время, которое допускает пользоваться программным обеспечением. Все функции работают в течение 10-30 суток или 10-30 запусков. Потом потребуется ввести ключ и оплатить.
Demo
Софт, который определенный период раздается без оплаты. В рамках этого времени можно пользоваться всем функционалом или ограниченным набором возможностей ознакомления. После окончания действия пробной версии блокируется работа программы, продолжить рабочий процесс возможно лишь после покупки.
Закрытое ПО
Это частная собственность авторов. Получить их можно только на строго указанных требованиях владельцев. Среди таких условий может быть денежная компенсация. Выдается без исходного кода.
Операционные системы
Основных ОС для компьютера всего 3: Linux, Microsoft Windows и Apple Mac Os. Важно знать и уметь обращаться с любой из них. У каждой есть свои плюсы и минусы. Большая часть использует продукцию Microsoft, реже – Linux. На платформе Apple Mac Os работает только небольшой процент компаний. Для мобильных устройств основных ОС две — Android и iOs.
Мы изучили, какие 3 вида программного обеспечения компьютера существуют, и привели примеры программ. Но если остались вопросы, то всегда можно посмотреть видеоматериал или обратиться в «Клеверенс».
Количество показов: 14950
Оболочка операционной системы — Википедия
Оболо́чка операцио́нной систе́мы (от англ. shell «оболочка») — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).
Для обеспечения интерфейса командной строки в операционных системах часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования с собственным синтаксисом и отличительными функциональными возможностями. В операционные системы MS-DOS и Windows 9x включён командный интерпретатор command.com, в Windows NT включён cmd.exe, начиная с Windows XP (пакет обновления 2) доступен PowerShell, который является встроенным компонентом ОС начиная с Windows 7 и Windows 2008 Server.
В UNIX-подобных системах у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию. Из командных оболочек UNIX наиболее популярны bash, csh, ksh, zsh.
Функции[править | править код]
Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.
В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.
В совокупности с набором утилит оболочка представляет собой операционную среду, язык программирования и средство решения как системных, так и некоторых прикладных задач, в особенности автоматизации часто выполняемых последовательностей команд.
Стандартный командный интерпретатор[править | править код]
Стандартом POSIX (ISO/IEC 9945) (Том 3. Оболочка и утилиты) определён язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного (if
, case
, ||
, &&
) и циклического (for
, for in
, while
, until
) исполнения команд, а также оператор присваивания.
Стандартом также определён режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора (vi).
Альтернативы[править | править код]
В UNIX-подобных системах наиболее распространены такие языки командных интерпретаторов, как bash, sh и ksh, но также применяются альтернативные оболочки zsh, csh и tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных.
Некоторые операционные системы поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов MS-DOS и Windows, язык REXX в ОС OS/2)
Многие пользователи и разработчики программного обеспечения пользуются для автоматизации часто выполняемых последовательностей команд операционной системы интерпретируемыми языками программирования, например, Perl или Python.
Графические оболочки для Windows[править | править код]
Последние версии операционной системы Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления, включающую в себя Рабочий стол, Меню Пуск, Панель задач, а также функции управления файлами. Ранние версии Windows 3.xx в качестве графической оболочки включают Диспетчер программ. Также существует большое количество альтернативных графических оболочек для Windows.
Бибарсов М. Р., Бибарсова Г. Ш., Кузьминов Ю. В. «Операционные системы, среды и оболочки: Учебное пособие». Ставрополь: Изд-во СГПИ, 2010. — 120 с.
Ядро операционной системы — Википедия
У этого термина существуют и другие значения, см. Ядро.Ядро́ (англ. kernel) — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.
Как основополагающий элемент ОС, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС.
Описанная задача может различаться в зависимости от типа архитектуры ядра и способа её реализации.
Типы архитектур ядер операционных систем[править | править код]
Монолитное ядро[править | править код]
Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем.
- Достоинства: Скорость работы, упрощённая разработка модулей.
- Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.
Примеры: Традиционные ядра UNIX (такие как BSD), Linux; ядро MS-DOS, ядро KolibriOS.
Некоторые старые монолитные ядра, в особенности систем класса UNIX/Linux, требовали перекомпиляции при любом изменении состава оборудования. Большинство современных ядер позволяют во время работы подгружать модули, выполняющие часть функций ядра. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы, называемой монолитным ядром (monolithic kernel), которое представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме.
Модульное ядро[править | править код]
Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем.
В отличие от «классических» монолитных ядер, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической (выполняемой «на лету», без перезагрузки ОС, в работающей системе), так и статической (выполняемой при перезагрузке ОС после переконфигурирования системы на загрузку тех или иных модулей).
Микроядро[править | править код]
Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений.
- Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая её работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
- Недостатки: Передача данных между процессами требует накладных расходов.
Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.
- Сервисные процессы (в принятой в семействе UNIX терминологии — «демоны») активно используются в самых различных ОС для задач типа запуска программ по расписанию (UNIX и Windows NT), ведения журналов событий (UNIX и Windows NT), централизованной проверки паролей и хранения пароля текущего интерактивного пользователя в специально ограниченной области памяти (Windows NT). Тем не менее, не следует считать ОС микроядерными только из-за использований такой архитектуры.
Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.
Экзоядро[править | править код]
Экзоядро — ядро операционной системы, предоставляющее лишь функции для взаимодействия между процессами, безопасного выделения и освобождения ресурсов. Предполагается, что API для прикладных программ будут предоставляться внешними по отношению к ядру библиотеками (откуда и название архитектуры).
Возможность доступа к устройствам на уровне контроллеров позволит эффективней решать некоторые задачи, которые плохо вписываются в рамки универсальной ОС, например, реализация СУБД будет иметь доступ к диску на уровне секторов диска, а не файлов и кластеров, что положительно скажется на быстродействии.
Наноядро[править | править код]
Наноядро — архитектура ядра операционной системы, в рамках которой крайне упрощённое и минималистичное ядро выполняет лишь одну задачу — обработку аппаратных прерываний, генерируемых устройствами компьютера. После обработки прерываний от аппаратуры наноядро, в свою очередь, посылает информацию о результатах обработки (например, полученные с клавиатуры символы) вышележащему программному обеспечению при помощи того же механизма прерываний. Примером является KeyKOS — самая первая ОС на наноядре. Первая версия вышла ещё в 1983 году.
Гибридное ядро[править | править код]
Гибридные ядра — это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра. Пример: ядра ОС Windows семейства NT.
Все рассмотренные подходы к построению операционных систем имеют свои достоинства и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Так, например, сейчас ядро «Linux» представляет собой монолитную систему с отдельными элементами модульного ядра[1]. При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра — так называемых модулей. В момент загрузки модуля его код загружается на уровне системы и связывается с остальной частью ядра. Внутри модуля могут использоваться любые экспортируемые ядром функции.
Существуют варианты ОС GNU, в которых вместо монолитного ядра применяется ядро Mach (такое же, как в Hurd), а поверх него крутятся в пользовательском пространстве те же самые процессы, которые при использовании Linux были бы частью ядра. Другим примером смешанного подхода может служить возможность запуска операционной системы с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляются монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
Смешанное ядро, в принципе, должно объединять преимущества монолитного ядра и микроядра: казалось бы, микроядро и монолитное ядро — крайности, а смешанное — золотая середина. В них возможно добавлять драйвера устройств двумя способами: и внутрь ядра, и в пользовательское пространство. Но на практике концепция смешанного ядра часто подчёркивает не только достоинства, но и недостатки обоих типов ядер.
Примеры: Windows NT, DragonFly BSD.
Системное программное обеспечение — Википедия
Систе́мное програ́ммное обеспе́чение — комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы.
Системное программирование — создание системного программного обеспечения.
Системный программист — программист, специализирующийся на системном программировании.
Отнесение того или иного программного обеспечения к системному условно, и зависит от соглашений, используемых в конкретном контексте. Как правило, к системному программному обеспечению относятся операционные системы[⇨], утилиты[⇨], системы программирования[⇨], системы управления базами данных[⇨], широкий класс связующего программного обеспечения.
Место системного программного обеспечения (выделено зелёным) в многоуровневой схеме вычислительной системыОперационная система — комплекс системных программ, расширяющий возможности вычислительной системы, а также обеспечивающий управление её ресурсами, загрузку и выполнение прикладных программ, взаимодействие с пользователями. В большинстве вычислительных систем операционные системы являются основной, наиболее важной (а иногда единственной) частью системного программного обеспечения.
Функции операционных систем[править | править код]
Основные функции (простейшие операционные системы):
- Загрузка приложений в оперативную память и их выполнение.
- Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
- Управление оперативной памятью (распределение между процессами, виртуальная память).
- Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
- Пользовательский интерфейс.
- Сетевые операции, поддержка стека протоколов.
Понятие операционной системы[править | править код]
Существуют две группы определений операционных систем: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы.
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных операционных систем. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).
Основные идеи операционных систем[править | править код]
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В 1950—1960-х годах сформировались и были реализованы основные идеи, определяющие функциональные возможности операционных систем: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры файловые системы.
Встроенные программы или firmware — это программы, «зашитые» в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные «прошивки», осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.
Утилиты (англ. utility или tool) — программы, предназначенные для решения узкого круга вспомогательных задач. Иногда утилиты относят к классу сервисного программного обеспечения.
Утилиты используются для мониторинга показателей датчиков и производительности оборудования (например, мониторинга температур процессора или видеоадаптера), управления параметрами оборудования (ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов), контроля показателей (проверка ссылочной целостности; правильности записи данных), расширения возможностей (форматирование или переразметка диска с сохранением данных, удаление без возможности восстановления).
Типы утилит[править | править код]
- Дисковые утилиты
- Дефрагментаторы
- Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление для эффективного использования дискового пространства.
- Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины».
- Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков.
- Резервное копирование — создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.
- Сжатие дисков — сжатие информации на дисках для увеличения вместимости жёстких дисков.
- Утилиты работы с реестром
- Утилиты мониторинга оборудования
- Тесты оборудования
К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:
- ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода;
- трансляторы — программы или технические средства, выполняющее трансляцию программы;
- компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
- интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их;
- компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль;
- препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе, и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор;
- отла́дчики (англ. debugger) — модули среды разработки или отдельные программы, предназначенные для поиска ошибок в программах;
- текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.;
- библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения;
- редакторы графического интерфейса.
Система управления базами данных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.
Так как системы управления базами данных не являются обязательным компонентом вычислительной системы, зачастую их не относят к системному программному обеспечению. Часто СУБД осуществляют лишь служебную функцию при работе других видов программ (веб-серверы, серверы приложений), поэтому их не всегда можно отнести к прикладному программному обеспечению. Поэтому СУБД иногда относят к промежуточному программному обеспечению (Middleware).
Основные функции СУБД[править | править код]
Классификация СУБД по способу доступа к базе данных[править | править код]
- Файл-серверные, в которых файлы данных располагаются централизованно на файл-сервере, а программная реализация СУБД располагается на каждом клиентском компьютере целиком. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Всплеск популярности файл-серверных систем управления базами данных относится к концу 1980-х — началу 1990-х годов.
- Клиент-серверные СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера (см. Клиент-сервер).
- Встраиваемые — программные библиотеки, которые позволяют унифицированным образом хранить большие объёмы данных на локальной машине.
- Васильев В. Г. Системное программное обеспечение
Классификация операционных систем (стр. 1 из 2)
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ – ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ
КАФЕДРА ИНФОРМАТИКИ
Реферат по информатике
на тему:
Классификации операционных систем
Выполнила:студентка 105 группы
Куриленко В.А.
Преподаватель:Шишин И.О.
Санкт – Петербург
2010 г.
Оглавление
Операционная система, (сокращенно ОС) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
В составе ОС различают 3 группы компонентов:
· ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудование; сетевая подсистема, файловая система
· системные библиотеки
· оболочка с утилитами
В определении состава ОС значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав ОС включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Функции операционных систем (основные):
1. Загрузка приложений в оперативную память и их выполнение;
2. Стандартизированный доступ к периферийным устройствам;
3. Управление оперативной памятью;
4. Управление доступом к данным на энергонезависимых носителях;
5. Пользовательский интерфейс;
6. Сетевые операции
7. Параллельное или псевдопараллельное выполнение задач (многозадачность)
8. Взаимодействие между процессами: обмен данными, взаимная синхронизация
9. Разграничение прав доступа и многопользовательский режим работы (авторизация, аутентификация)
Операционные системы могут различаться особенностями реализаций внутренних алгоритмов управления основными ресурсами компьютера (процессорами, устройствами, памятью), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Существует несколько классификаций операционных систем, в которых выделяют определенные критерии, отражающие разные существенные характеристики систем, рассмотрим наиболее часто встречающиеся:
По назначению
1. Системы общего назначения.
Подразумевает ОС, предназначенные для решения широкого круга задач, включая запуск различных приложений, разработку и отладку программ, работу с сетью и мультимедиа.
2. Системы реального времени.
Предназначены для работы в контуре управления объектами.
3. Прочие специализированные системы.
Это различные ОС, ориентированные, прежде всего на эффективное решение определенного класса, с большим или меньшим ущербом для прочих задач
По характеру взаимодействия с пользователем
1. Пакетные ОС, обрабатывающие заранее подготовленные задания
2. Диалоговые ОС, выполняющие задания пользователя в интерактивном режиме
3. ОС с графическим интерфейсом
4. Встроенные ОС, не взаимодействующие с пользователем
По числу одновременного выполнения задач
1. Однозадачные ОС.
В таких систем ах в каждый момент времени может существовать не более чем один пользовательский процесс. Однако, одновременно с этим, могут работать системные процессы
2. Многозадачные ОС.
Они обеспечивают параллельное выполнение некоторых пользовательских процессов. Реализация многозадачности требует значительного усложнения алгоритмов и структур данных, используемых в системе.
По числу одновременных пользователей
1. Однопользовательские ОС.
Для них характерен полный пользовательский доступ к ресурсам. Подобные системы приемлемы в основном на изолированных компьютерах.
2. Многопользовательские ОС.
Их важной компонентой являются средства защиты данных и процессов каждого пользователя, основанные на понятии владельца ресурса и на точном указании прав доступа, предоставленных каждому пользователю системы.
По аппаратурной основе
1. Однопроцессорные ОС.
2. Многопроцессорные ОС.
В задачи такой системы входит эффективное распределение выполняемых заданий по процессорам и организация согласованной работы всех процессоров.
3. Сетевые ОС.
Они включают возможность доступа к другим компьютерам локальной сети, работы с файловыми и другими серверами.
4. Распределенные ОС.
Распределенная система, используя ресурсы локальной сети, представляет их пользователю как единую систему, не разделенную на отдельные машины.
По способу построения
1. Микроядерные
2. Монолитные
Операционные системы семейства OS/2
OS/2 – семейство многозадачных операционных систем с графическим интерфейсом, есть версии для многопроцессорных машин. OS/2 создавалась для собственных нужд и задач фирмы IMB. OS/2 использовалась IMB в качестве основы некоторого числа программных решений, таких как комментаторские системы олимпийских игр, программное обеспечение для банков. Под нее практически не существует программного обеспечения.
Поддержка OS/2 до последнего времени осуществлялась выпуском версий OS/2 безо всяких кардинальных изменений и улучшений.
Исторически сложилось такая ситуация, что в данный момент эта ОС на рынке программного обеспечения мало распространена. Существует несколько версий ОС OS/2 WarpServer, являющихся операционными системами для серверов.
В рамках проекта Core/2 существуют два действующих направления по развитию OS/2:
· OS/4 — создание современного ядра методом реверс-инижиринга и полного переписывания кода на основе существующих ядер.
· osFree – создание всей операционной системы «с нуля» на основе современных микроядерных технологий и активного использования OpenSource наработок.
Операционные системы семейства UNIX
Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Все ОС, относящиеся к этому семейству, являются многозадачными, многопользовательскими, с графическим интерфейсом, обеспечивают достаточную надежность и защиту данных. Эти ОС ставятся на различные аппаратные платформы (как на ПК, так и на большие машины такие как мэйнфреймы и суперЭВМ).
Некоторые отличительные признаки UNIX-систем включают в себя:
· использование простых текстовых файлов для настройки и управление системой;
· широкое применение утилит, запускаемых в командной строке;
· взаимодействие с пользователем посредством виртуального устройства – терминалом;
· использование конвейеров из нескольких программ , каждая из которых выполняет одну задачу;
· предоставление физических и виртуальных устройств и некоторых средств межпроцессорного взаимодействия как файлов.
Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.
Совокупная доля различных UNIX-систем занимает значительную долю на рынке серверных программ. Ввиду большой надежности системы UNIX она широко используется для организации работы глобальной сети Internet.
Операционные системы семейства Linux
Linux является одной из распространенных систем версий UNIX. Она может организовать работу как рабочих станций, так и сервера. Поддерживает технологию Plug & Play (стандарт аппаратной и программной архитектуры, который делает возможным распознавание устройств).
Linux – это многозадачная и многопользовательская операционная система для бизнеса, образования и индивидуального программирования. Как и все UNIX-системы, она ориентирована на работу в сети.
Одним из достоинств Linux можно считать высокую скорость работы. Эта ОС может работать на машинах не очень большой мощности. Второе достоинство заключается в том, что она может применяться как для различных типов серверов, так и для настольных компьютеров.
В отличие от большинства других операционных систем, Linux не имеет единой «официальной» комплектации. Вместо этого Linux поставляется в большом количестве так называемых дистрибутивов, в которых ядро Linux соединяется с утилитами GNU и другими прикладными программами (например, X.org), делающими её полноценной многофункциональной операционной средой.
Операционные системы семейства Windows
операционный система интерфейс
Платформы операционных систем WindowsNT и Windows 2000 представляют собой операционные системы для использования на самых разнообразных компьютерах. Все ОС семейства Windows являются многозадачными системами с графическим интерфейсом. Они работают на платформах x86, x86-64, IA-64, ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.
Одним из достоинств ОС семейства Windows является поддержка технологии Plug & Play. Эта технология упрощает для пользователя подключение разных внешних устройств.