Содержание
Свободные
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:
- Ubuntu
- Fedora
- 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, входят программные модули, создающие графический пользовательский интерфейс. В операционных системах с графическим интерфейсом пользователь может вводить команды с помощью мыши, тогда как в режиме командной строки необходимо вводить команды с помощью клавиатуры.
Сервисные программы. В состав операционной системы входят также сервисные программы, или утилиты. Такие программы позволяют обслуживать диски (проверять, сжимать, дефрагментировать и так далее), выполнять операции с файлами (архивировать и так далее), работать в компьютерных сетях и так далее.
Справочная система. Для удобства пользователя в состав операционной системы обычно входит также справочная система. Справочная система позволяет оперативно получить необходимую информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
Типы операционных систем
- Операционные системы реального времени (Real-time operating system, RTOS). Операционные системы реального времени предназначены для управления машинным оборудованием, научными инструментами и промышленными системами. Обычно пользовательский интерфейс таких систем не балует дизайнерскими изысками, а утилиты, ориентированные на конечного пользователя, отсутствуют. Это готовая к использованию «закрытая коробка». Важнейшей задачей такого типа операционной системы является следить за тем, чтобы определенная операция выполнялась в определенный отрезок времени. И эти отрезки были равными. В сложных машинах нельзя допустить, чтобы их элементы двигались быстрее чем нужно, поскольку система располагает «лишними» ресурсами. Или, наоборот, не двигались вовсе по причине занятости системы
- Однопользовательские однозадачные операционные системы (Single-user, single task). Как следует из их названия, эти операционные системы ориентированы на выполнение одним пользователем одной задачи в один период времени. Ярким примером системы такого типа может служить Palm OS для наладонников Palm. Эти устройства пользовались определенной популярностью до того как началось массовое распространение смартфонов
- Однопользовательские многозадачные операционные системы (Single-user, multi-tasking). Системы этого типа управляют большинством современных настольных и портативных компьютеров. И Microsoft Windows, и Apple OS X относятся именно к этому типу. Например, пользователь Windows может одновременно писать заметку в текстовом редакторе и загружать файл из Интернета. В это же самое время принтер может печатать, а почтовый клиент принимать электронную корреспонденцию
- Многопользовательские операционные системы (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
- Как проверить и исправить ошибки жесткого диска
- ТОП лучших программ для просмотра ТВ на компе
Теперь рассмотрим современные операционные программы для компьютеров.
С этим читают
- Операционная система linux, чем она лучше?
- Что лучше виндовс или линукс для домашнего использования и вообще?
- В чем заключается принцип «вин-вин» (win-win) и как его использовать
- Parallels desktop for macresources
- Как сделать загрузочный диск или флешку windows 7, 8.1, 10
- Обновление до более полного выпуска windows 10windows 10 edition upgrade
- Готовая виртуальная машина для windows 7
- Самый простой способ запускать программы windows на macos
- Создана ос для смартфонов, которая «на порядок быстрее android»
- Запускаем ios на android с помощью бесплатных эмуляторов