Что такое операционная система?
Говоря о компьютере, мы чаще всего имеем в виду металлический ящик под столом или в крайнем случае — компактный ноутбук на коленях. Во всех случаях мы правы, и во всех случаях делаем одну и ту же ошибку. Ведь каким бы модным, умелым и мощным не был компьютер, сама по себе эта куча металла, пластика и кремния не умеет ничего. Как машина без двигателя — выглядит внушительно, а толку — никакого.
«Железо» всего лишь «плоть» компьютера. А его «душа» — это программное обеспечение, которое, собственно, и заставляет процессорное сердце компьютера биться с чудовищной скоростью, гоня по железным «венам» цифровую кровь. Но и сами программы довольно беспомощны — всем им нужен некий посредник, который позволял бы работать с компьютерным железом, единая платформа, единый, общий язык, на котором они смогут общаться с компьютерным железом с одной стороны и с пользователем — с другой. Помощник, который снимет с их плеч множество рутинной и однообразной работы.
Представьте, что вы приехали в новую, незнакомую страну — и, не зная ни культуры, ни языка, пытаетесь в одиночку подобрать к ней ключик. Изучить все сё достопримечательности и тайные тропинки. И, желательно, остаться при этом в живых… Так поступали путешественники эпохи Великих географических открытий, так поступали и первые программы. Каждая из них могла рассчитывать только сама на себя, а их создатели раз за разом вынуждены были открывать дороги и троны, по которым до них прошли другие исследователи. Первые программы не собирались из готовых блоков, как сегодня, а писались с нуля на языке «родных» для данного компьютера машинных кодов. И это было закономерно, потому что первые компьютеры были «вещью в себе», несовместимой с другими умными машинами.
Лишь в конце пятидесятых годов, когда компьютеры пошли в серийное производство, а их количество исчислялось уже не десятками, а тысячами, появились первые универсальные средства общения человека и машины — языки программирования. Сначала «низкие» вроде ассемблера, доступные лишь немногим кудесникам от программирования, потом — всё более простые и доступные новичкам. В середине 70-х, на арену вышел Basic, язык стандартных текстовых команд, работать с которым могли даже школьники. И школьники свой шанс не упустили — во всяком случае, два недоучившихся студента Билл Гейтс и Пол Аллен вошли в историю именно благодаря написанному (а главное, проданному) ими на Basic варианту для компьютеров Альтаир.
Вот тут мы и притормозим на минутку и вновь вспомним, что в первые годы компьютерной эры создавать программы для windows 7 приходилось для каждого компьютера отдельно — и это здорово тормозило их развитие. Но в 1969 году, задолго до того, как Билл Гейтс выбил первые дырочке на бумажной ленте перфоратора, произошло чрезвычайно важное событие: сотрудники лаборатории Bell Кеннет Томпсон и Деннис Ритчи создали первую универсальную операционную систему, способную работать на компьютерах разных моделей. Называлась она Unix, и именно от неё ведут происхождение практически все современные операционки, включая Linux, iOS, Mac OS и Android. Кстати, есть в этой истории и русский след, поскольку среди сотрудников белловской лаборатории был и наш бывший соотечественник Виктор Высотский. Который к тому же стоял и у истоков всех компьютерных игр, приложив руку к обучающей программе под названием Darwin (1961).
Универсальность была не единственным козырем Unix: система значительно облегчала общение оператора с машиной, поскольку позволяла использовать вместо многочисленных строчек цифрового кода простые текстовые команды (многие из которых практически без изменений перекочевали и в Linux). Впрочем, до начала 80-х UNIX «обслуживал» исключительно «большие» компьютеры в крупных научных учреждениях, и лишь с появлением FreeBSD и Linux освоился на знакомых нам «персоналках», рынок которых к этому моменту уже поделили между собой два могущественных игрока Windows от корпорации Microsoft и MacOS от Apple.
…Мы часто говорим — «я работаю с Windows», но слабо представляем себе, что это значит. Ведь сама операционная система (или, более фамильярно, просто ОС) — это своего рода буфер-передатчик между компьютерным «железом» и остальными программами. ОС принимает на себя сигналы-команды, которые посылают другие программы, и «переводит» их на понятный машине язык. ОС управляет всеми подключёнными к компьютеру устройствами, обеспечивая доступ к ним другим программам. Наконец, ОС обеспечивает человеку-пользователю удобство работы с компьютером.
Каждая ОС состоит как минимум из пяти обязательных частей:
- Первая — «переводчик» с программного языка на «железный» язык машинных кодов.
- Вторая — специализированные программки для управления различными устройствами, входящими в состав компьютера. Такие программки называются управляющими. Благодаря им операционная система узнаёт самую короткую дорогу к «сердцу» каждого устройства и получает в свои руки «пульт управления» всеми их функциями и способностями. Так и водитель должен пройти курс обучения и получить права, прежде чем выехать на
дорогу!
Сама Windows первоначально была не полноценной операционной системой, а всего лишь «графической надстройкой» над ядром DOS, и полностью дееспособной стала лишь с выходом Windows 95!