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

Свободные

Unix-подобные

  • BSD (Berkeley Software Distribution, реализация Unix для DEC VAX) и её вариации: 386BSD, DesktopBSD, DragonFly BSD, FreeBSD, MidnightBSD, NetBSD, OpenBSD, PC-BSD, TrianceOS, TrueBSD,
  • GNU/Hurd (ОС, реализованная как набор серверов, работающих на микроядре Mach): Hurd/L4 (ОС, реализованная как набор серверов, работающих на микроядре L4)
  • Linux: Linux (наиболее популярное свободное Unix-подобное ядро), Cosmoe (основана на ядре Linux и использует много кода AtheOS, подобна BeOS), Объединённое ядро Linux, Ubuntu, Debian.
  • OpenSolaris (проект по открытию кодов Solaris): AuroraUX, BeleniX, Jaris, MilaX, marTux, Nexenta OS, NexentaStor, OpenIndiana, OpenSolaris for System z, OSUNIX, Polaris, SchilliX, StormOS.
  • Plan 9 (распределённая ОС, разработана Bell Labs): Plan B (распределённая ОС, произошедшая от Plan 9), Off++ (распределённая ОС, произошедшая от Plan 9), Inferno (ОС на основе виртуальной машины, произошла от Plan 9)
  • SSS-PC (разработана в Токийском Университете)
  • Minix (учебная ОС от Эндрю Таненбаума)
  • Android (Мобильная ОС от , имеет большое количество форков; Список десктопных форков): Android-x86 (Неофициальный порт Android под платформу x86), Remix OS (ОС для персональных компьютеров и ноутбуков на базе Android) , Phoenix OS (Форк Remix OS), PrimeOS (Другой форк Remix OS) — полный список можно увидеть .

не-Unix-подобные

  • ReactOS — это современная, свободная и открытая операционная система, основанная на лучших[источник не указан 90 дней] принципах архитектуры Windows NT (такие продукты компании Microsoft, как Windows XP, Windows 7, Windows Server 2012 построены на архитектуре Windows NT). Система была разработана с нуля, и таким образом не основана на Linux и не имеет ничего общего с архитектурой UNIX.
  • FreeDOS
  • Haiku

Классификация ОС

По числу одновременно выполняемых задач выделяют ОС:


— однозадачные (MS DOS, ранние версии PS DOS);

— многозадачные (OS/2, UNIX, Windows)

Многозадачность бывает:

— невытесняющая (Net Ware, Windows 95/98), когда активный процесс по окончании сам передает управление ОС для выбора из очереди другого процесса;

— вытесняющая (Windows NT, OS/2, UNIX) — решение о переключении процессора с одного процесса на другой принимает ОС.

По числу одновременно работающих пользователей ОС делят:

— однопользовательские (MS DOS, Windows 3х, ранние версии OS/2)

— многопользовательские (UNIX, Windows 2000, NT, XP, Vista). В многопользовательских системах присутствуют средства защиты информации пользователей от несанкционированного доступа.

В настоящий момент около 90% компьютеров используют ОС Windows.

Различают четыре основных класса операционных систем:

1. Однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;

2. Однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;

3. Однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на «свою» задачу;

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

Операционная система для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:

— программы управления вводом/выводом;

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

— процессор командного языка, который принимает, анализирует и выполняет команды, адресованные операционной системе.

Каждая операционная система имеет свой командный язык, который позволяет пользователю выполнять те или иные действия:

— обращаться к каталогу;

— выполнять разметку внешних носителей;

— запускать программы;

— другие действия.

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

Для управления внешними устройствами компьютера используются специальные системные программы — драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS), которая обычно заносится в постоянное ЗУ компьютера.

Краткая характеристика некоторых операционных систем

ОС Linux – сетевая ОС, ядро которой разработано на базе ОС Unix. Linux распространяется в исходных кодах и применяется для создания серверов в вычислительных сетях и в Интернете.

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

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

Российские разработки


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

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

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

Еще хотелось бы отметить, что в основном все отечественные ОС написаны на основе Linux. Лично у меня складывается такое впечатление, что они просто меняют обои рабочего стола. За бюджетные деньги.

А так хочется что-то наше на русском языке и чтобы работало с программным обеспечением, заточенным под другие системы.

Linux

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

В отличии от двух вышеупомянутых «гигантов», Linux – совершенно бесплатна и предназначена для узкого круга «юзеров». Хотя с каждым годом их количество увеличивается. Понятно, что этому продукту не суждено стать на один уровень с «окнами» Майкрософт, но своя аудитория у него имеется (так называемые, «линуксоиды»).

Хотите узнать историю развития и прочие детали о Линуксе – читайте в Wiki.

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

Изучение программирования

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

Udacity: Software Development Process — отличный курс для тех, кто ещё не принимал участие в крупных проектах. Тут вас ознакомят с подробностями рабочего процесса и работой с инструментарием (например Git), а также расскажут о настройке интегрированной среды разработки.

Изучение языков программирования

Для разработки операционной системы вам понадобится освоить минимум два языка программирования:

  • низкоуровневый язык ассемблера;
  • высокоуровневый язык программирования.

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

Высокоуровневые языки программирования, в свою очередь, работают сразу на нескольких архитектурах. Самый популярный из таких языков — Cи. Чаще всего именно на нём и пишутся операционные системы. Но это не означает, что этот язык единственный. Для написания ОС можно использовать и более высокоуровневые языки, например C++ или Python.

Язык ассемблера для x86

«x86 Assembly Guide» — неплохо подойдёт для начального изучения ассемблера. Несмотря на то, что эта статья коротка для полного курса, в ней содержится всё необходимое для дальнейшего углубления.

Книга «Programming from the Ground Up» Джонатана Бартлетта является одной из основных по изучению ассемблера. В ней основами языка программирования подкрепляются базисы информатики.

Для изучения ассемблера есть ещё одна показательная книга — «The Art of Assembly Language», написанная Рэнди Гайдом. Изначально книга писалась специально для курсов, которые вёл автор в Калифорнийском университете Cal Poly и UC Riverside. В середине 90-х годов книга была признана определяющей в этой сфере.

Если вдруг вышеописанные материалы вам не подошли, вот ещё пара отличных книг:

  • «Assembly Language Step-by-Step: Programming with Linux» Джефа Дантеманна;
  • «Modern X86 Assembly Language Programming» Дэниэля Кассварма.

Кроме того, на нашем сайте есть статья о написании простейшего ядра под x86 на C.

Язык Cи

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

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

«Learn C the Hard Way» — название ещё одной книги. Кроме привычной теории в ней собрано много практических решений. Этот учебник расскажет обо всех аспектах языка.

Либо же можете выбрать одну из этих книг:

  • «The C Programming Language» Кернигхана и Ритчи;
  • «C Programming Absolute Beginner’s Guide» Пэрри и Миллера.

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

  • Принцип модульности — обособление составных частей ОС в отдельные модули (функционально законченные элементы системы), выполненное в соответствии с принятыми межмодульными интерфейсами;
  • Принцип генерируемости ОС — определяет такой способ исходного представления ядра ОС и основных компонентов ОС, который позволяет производить их настройку, исходя из конкретной конфигурации конкретного вычислительного комплекса и круга решаемых задач;
  • Принцип функциональной избыточности — учитывает возможность проведения одной и той же работы различными средствами;
  • Принцип виртуализации — представляет структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и позволяет использовать единую централизованную схему распределения ресурсов, организуя тем самым работу виртуальной машины;
  • Принцип независимости программ от внешних устройств — связь программ с конкретными устройствами производится не на уровне трансляции программы, а в период планирования ее исполнения;
  • Принцип совместимости — способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы;
  • Принцип открытой и наращиваемой ОС — позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули;
  • Принцип обеспечения безопасности при выполнении вычислений — является желательным свойством для любой многопользовательской системы;

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

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

Приступим к небольшому обзору трех самых популярных операционных систем.

Windows


Самая востребованная это Microsoft Windows выпущенная корпорацией Microsoft а сама система Windows в переводе означает – окна.

В настоящее время поддерживаются производителем несколько версий:

  • Windows 7 с пакетом обновления 1 – обслуживаться будет до 14 января 2020 года
  • Windows 8.1 – обслуживаться будет до 10 января 2023 года
  • Windows 10 – с 2015 года розничные продавцы предоставляют компьютеры именно с этой предустановленной версией

Но не пугайтесь, у кого сейчас установлены версии 7 и 8.1. Прекращение обслуживания не означает, что у вас они перестанут работать, корпорация просто прекратит выпускать обновления для них. Я знаю людей, которые до сих пор работают с Виндовс XP, хотя обновления для нее прикатились выпускаться еще в 2014 году.

Располагается операционная система на жестком диске, в большинстве случаях это раздел «Локальный диск С» где при установке создаются такие папки как:

  • Windows – располагается сама ОС со всеми настройками.
  • Program Files – здесь находятся папки с установленными на ПК программами.
  • Users (пользователи) – папка где хранятся профили пользователей
  • PerfLogs – хранит файлы отчетов о производительности системы

Теперь давайте подробнее разберем, как узнать свою версию Windows.

1. На рабочем столе находим значок «Компьютер» или «Этот компьютер»

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

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

В открывшемся окне для виндовс 7 и 8 ищем пункт «Изменение значков рабочего стола»

Для виндовс 10 пункт будет называться «Темы» и уже в правой части открытого окна ищем и жмем на «Параметры значков рабочего стола»

В появившемся окне (для всех Windows оно практически одинаковое) ставим галочку возле надписи компьютер и жмем кнопку «ок». Вот и все, значок мой компьютер на рабочем столе.

2. Наводим курсор мыши на значок компьютера, жмем правую кнопку и в открывшемся меню выбираем «свойства»

В открывшемся окне внимательно изучаем информацию о системе, которая установлена на ваш ПК.

У меня это Windows 10 Pro. Помимо этого есть информация о процессоре, объеме оперативной памяти, о типе системы, а также об активации моей Windows.

И так с виндовс разобрались, теперь переходим разбору остальных систем.

Apple Mac Os X

Mac Os специально выпускается компанией Apple (в переводе с английского — яблоко) с 1984 года для компьютеров Macintosh сокращенно «Mac».

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

Для того чтобы посмотреть какая версия Mac Os установлена нужно курсор мыши навести в левый верхний угол на кнопку Apple или значок «яблока» и нажать левой кнопкой. В открывшемся меню выбрать пункт «Об этом Mac»

Linux


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

Вот три самых популярных версий (дистрибутив) Linux:

  1. Ubuntu
  2. Fedora
  3. Mint

Есть несколько преимуществ Линукс:

  • Она бесплатная
  • Все программы установлены в одном месте
  • Можно забыть про вредоносное ПО, так как вирусы пишут в основном для виндовс.

Если у вас установлен Linux но вы не знаете какой именно дистрибутив используется то следует в консоли ввести следующие команды:

  • cat /etc/*release
  • cat /etc/*version
  • cat /etc/issue

Эволюция операционных систем и основные идеи

Основная статья: Эволюция операционных систем

История ОС насчитывает примерно полвека. Она во многом определялась и определяется развитием элементной базы и вычислительной аппаратурой.

Первое поколение.

40-е годы. Первые цифровые вычислительные машины без ОС. Организация вычислительного процесса решается программистом с пульта управления.

Второе поколение.

50-е годы. Появление прообраза ОС — мониторных систем, реализующих систему пакетной обработки заданий.

Третье поколение.

1965-1980 г.г. Переход к интегральным схемам. IBM/360. Реализованы практически все основные концепции, присущие современным ОС: разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и . Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера: привилегированный и пользовательский режимы, средства защиты областей памяти, развитой системы прерываний.

Четвертое поколение.

Конец 70-х. Создан рабочий вариант стека протоколов TCP/IP. В 1983 году он был стандартизирован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой Интернет, сделала этот стек протоколов основным стеком для большинства ОС.

80-е годы. Появление персональных компьютеров. Бурный рост локальных сетей. Поддержка сетевых функций стала необходимым условием. Приняты основные стандарты на коммуникационные технологии локальных сетей: Ethernet, Token Ring, FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях.

Начало 90-х. Практически все ОС стали сетевыми. Появились специализированные сетевые ОС (например IOS, работающая в маршрутизаторах)

Последнее десятилетие

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

Операционная система: назначение и состав

На IBM-совместимых персональных компьютерах используются операционные системы корпорации Microsoft Windows 9х/МЕ, свободно распространяемая операционная система Linux. На персональных компьютерах фирмы Apple используются различные версии операционной системы Mac OS. На рабочих станциях и серверах наибольшее распространение получили операционные системы Windows NT/2000/XP и UNIX.

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

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

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

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

Командный процессор. В состав операционной системы входит специальная программа — командный процессор, — которая запрашивает у пользователя команды и выполняет их.

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

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

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

Технология «Plug and Play» (подключи и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование. В процессе установки Windows определяет тип и конкретную модель установленного устройства и подключает необходимый для его функционирования драйвер. При включении компьютера производится загрузка драйверов в оперативную память.

Пользователь имеет возможность вручную установить или переустановить драйверы.

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

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

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

Типы операционных систем

  1. Операционные системы реального времени (Real-time operating system, RTOS). Операционные системы реального времени предназначены для управления машинным оборудованием, научными инструментами и промышленными системами. Обычно пользовательский интерфейс таких систем не балует дизайнерскими изысками, а утилиты, ориентированные на конечного пользователя, отсутствуют. Это готовая к использованию «закрытая коробка». Важнейшей задачей такого типа операционной системы является следить за тем, чтобы определенная операция выполнялась в определенный отрезок времени. И эти отрезки были равными. В сложных машинах нельзя допустить, чтобы их элементы двигались быстрее чем нужно, поскольку система располагает «лишними» ресурсами. Или, наоборот, не двигались вовсе по причине занятости системы
  2. Однопользовательские однозадачные операционные системы (Single-user, single task). Как следует из их названия, эти операционные системы ориентированы на выполнение одним пользователем одной задачи в один период времени. Ярким примером системы такого типа может служить Palm OS для наладонников Palm. Эти устройства пользовались определенной популярностью до того как началось массовое распространение смартфонов
  3. Однопользовательские многозадачные операционные системы (Single-user, multi-tasking). Системы этого типа управляют большинством современных настольных и портативных компьютеров. И Microsoft Windows, и Apple OS X относятся именно к этому типу. Например, пользователь Windows может одновременно писать заметку в текстовом редакторе и загружать файл из Интернета. В это же самое время принтер может печатать, а почтовый клиент принимать электронную корреспонденцию
  4. Многопользовательские операционные системы (Multi-user). Многопользовательские операционные системы позволяют нескольким пользователям одновременно получать доступ к ресурсам устройства. Операционной системе приходится удерживать баланс между теми требованиями, которые предъявляют разные пользователи. При этом операционной системе приходится следить за тем, чтобы у каждой из работающих программ было достаточно ресурсов, и задача, решаемая одним из пользователей, не мешала другим пользователям. В качестве ярких примеров многопользовательских систем можно привести Unix, VMS и операционные системы для больших ЭВМ, подобные MVS

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

И это различные операционные системы. Например, Windows 2000 и Novell Netware поддерживали сотни и даже тысячи сетевых соединений. При этом их нельзя считать истинно многопользовательскими. Единственным настоящим пользователем Windows 2000 и Netware является системный администратор. Сетевая поддержка и все удаленные аккаунты пользователей включены в общий план операционной системы, программно определяемый ее администратором.

Какие бывают?

Основные виды операционных систем в зависимости от разработчика:

  • Windows – «детище» компании M На момент написания этой статьи самой свежей версией является Виндовс 10, но по популярности она все еще уступает «семерке»;
  • Mac OS X – продукт от Apple, отличающийся стабильной работой, минимальными требованиями к производительности оборудования;
  • Linux – распространяется бесплатно, исходный код в свободном доступе, что позволяет любому пользователю вносить изменения, улучшения;
  • Мобильные платформы: Android, iOS, Windows Mobile, Bada, Symbian и другие. На самом деле их очень много, но большинство уже успели отойти в прошлое, оставив на вершине лишь парочку «гигантов».

Каждая «операционка» имеет свой уникальный GUI – графический интерфейс, отличающий её от других. До внедрения этой «оболочки», людям приходилось работать в мрачной среде командной строки. Ох и суровые были времена…

Автор рекомендует:

  • Секреты и фишки Виндовс 10
  • Как проверить и исправить ошибки жесткого диска
  • ТОП лучших программ для просмотра ТВ на компе

Теперь рассмотрим современные операционные программы для компьютеров.


С этим читают