Операционные системы: определение

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

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

Когда люди говорят «операционная система», сразу вспоминается Windows, некоторые Mac OS, единицы вспоминают дистрибутивы Linux. Да, они являются операционными системами, но они общего назначения. А ведь операционная система бывает не только для общего назначения.

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

Например, калькулятор - любой калькулятор содержит в себе операционную систему. Мы же должны работать с ним? Калькулятор состоит из корпуса, кнопок, экрана и платы - вот плата и основа, на которую программируют специалисты и инженера. В эту плату установили операционную систему (это явно не Windows, скорее из ветви Unix, то есть оригинальных первых систем), в которой отображается экран при включении калькулятора с цифрой 0. Такой калькулятор прост в использовании и в создании: там лишь математические операции, больше ничего нет.

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

На игровых консолях тоже есть операционные системы. Допустим, Sega Mega Drive - в ней стоит своя операционная система, которая не подойдет ни на одно устройство (короче говоря, заказная ОС, написанная строго под определенную плату). Допустим, мы из компьютера или из телефона Сегу не сделаем и ОС не вставим, потому что тогдашние ОС писались на языке ассемблер - это такой язык программирования, который используется для создания системы строго под конкретную плату, а не под разные. То есть строго узкого назначения.

Схема такая. Вот, сотрудники Sega приобрели голую плату. Работала команда инженеров. Одни программировали, другие паяли плату. Все, что запаяно, спрограммировали, чтобы этот участок платы отвечал, допустим, за управление, а другой за графику, третий за питание, четвертый за принятие картриджей, пятый уже за ядро - короче, где-то так. Все, операционная система готова, но вот код программы для другой сеговской платы может не подойти - они копировали, но слегка приходилось пару команд переименовывать или менять в соответствии платой. То есть только на одинаковые платы, которые запаяны одинаково, применится код программы для создания операционной системы. Допустим, код сеговской системы не подойдет под плату нинтендовской - это было сделано для того, чтобы никто ни у кого не крал закрытый исходный код. А если бы код писался на языке высокого уровня (типа Python), то такой код легко было бы использовать везде. А написанный на ассемблере нельзя - СТРОГО под КОНКРЕТНУЮ плату.

В сеговской системе написали код, в котором принимает СТРОГО сеговские картриджи, написанные тоже на ассемблере. Когда игры создавались, основная плата консоли была фундаментом, на которой игры и создавали. Втыкали игровую плату - будущий картридж - в плату консоли - и создавали игры, паяли, рисовали, закидывали. Это сделано для того, чтобы картридж сеговский не работал на нинтендовской консоли, так как кодовая база разная. Нинтендо создавала консоль под свою плату, а Сега - под свою, отсюда несовместимость - в этом вся мощь ассемблера.

Когда мы запускаем Sega Mega Drive без картриджа, либо мы видим черный пустой экран, либо мы видим синий экран со встроенными играми - смотря какая консоль попалась. Если втыкаем картридж с игрой, посылается команда: сначала черный экран, а потом загрузка установленной платы, то есть картриджа, и уже работа с него - запускается игра. Сначала идет проверка совместимости, а потом идет запуск. Если картридж корявый, игра не запустится. Другие картриджи не сеговские не примет. А ведь все это и есть операционная система.

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

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

Ядро Линукс является модифицированной версией Unix, от того и зовется unix-подобным, так как в Линукс ядре оставили чисто свободные прошивки, которые применяются на большинство оборудования, а закрытого почти нет - в чистом ядре Unix есть закрытые, но их надо еще «вставлять» в аппарат, в оборудование, в плату. Линукс - урезанная версия Unix.

Mac OS тоже зовется Unix-подобным, только «яблочники» официально использовали Unix и сделали его платным, использовали по полной возможности Unix и стали теми, кем являются сейчас.

MS-DOS - предшественник Windows - тоже основан на Unix, это потом Microsoft переделала ядро для создания Windiows - колоссальную работу провели настолько, что их ядро к Unix почти никакого отношения не имеет - они изучили Unix-ядро, прошлись по всем пунктам и создали свое новое ядро.

Собрать новое ядро в противовес Unix можно, но зачем? Полвека потратить? Уже нет смысла, да и очень тяжело это сделать.

В общем, мы взаимодействуем с любой техникой с помощью операционной системы - магнитофон, видеомагнитофон, DVD-плеер, игровые консоли, телефоны, компьютеры, ноутбуки, электронные часы (не аналоговые - они по механизму работают), телевизоры - все они имеют операционные системы.

Так что знайте, что операционная система - это не только Windows. И в 95% случаев они имеют закрытый исходный код - то есть, скопировать систему и создать ее подобие не получится, так как доступ прочно закрыт. Пример открытого исходного кода - Линукс: не будь у него открытого исходного кода, около 600 похожих дистрибутивов не существовало бы, был бы лишь ОДИН дистрибутив. А тут с открытым Линукс-ядром каждый может слепить себе систему, как пластилин. А с закрытым не получится - просто доступа не будет. Закрытый исходный код хранится в компаниях, кто и создал ядро, и не подлежит распространению.

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

8 views·1 share