Мне просто интересно, кто знает, какие языки программирования Windows, Mac OS X и Linux составлены и какие языки используются для каждой части ОС (например, ядро, архитектура подключаемого модуля, компоненты GUI и т.д.).
Я предполагаю, что для каждого языка есть несколько языков, и, очевидно, я знаю, что ядро Linux написано на C.
Я полностью предполагаю, что Mac OS X содержит много кода Objective-C, поскольку это язык Apple, полученный из NeXT.
Windows, я слышал, содержит C, С++ и Intel Assembly. У Linux или Mac OS есть код сборки?
Кроме того, существуют ли скриптовые языки, такие как Ruby, Python и т.д., используемые разработчиками ОС для создания скриптов в ОС? Какие части ОС будут записаны на каждом языке?
Все ядра также будут использовать некоторый код сборки.
Linux: C. Некоторые части сборки.
[...] Это в основном на C, но большинство людей не будет называть то, что я пишу C. Он использует все мыслимые возможности 386, которые я мог найти, так как это было также проект, чтобы научить меня о 386. Как уже упоминалось, это использует MMU, как для пейджинга (не для диска), так и для сегментации. Это сегментация, которая делает ее ДЕЙСТВИТЕЛЬНО 386 зависимой (каждая задача имеет Сегмент 64 Мб для кода и данных - не более 64 задач в 4 ГБ. Любой, кто нуждается более 64 Мб/задача - жесткие файлы cookie). [...] Некоторые из моих "C" файлов (в частности, mm.c) почти такие же ассемблеры, как C. [...] В отличие от minix, я также случаюсь с LIKE прерываниями, поэтому обрабатываются прерывания не пытаясь скрыть причину позади них. (Источник)
Mac OS X: Cocoa в основном в Objective-C. Ядро написано на C, некоторые части сборки.
Mac OS X на уровне ядра представляет собой в основном более старую бесплатную операционную систему под названием BSD (в частности, ее Darwin, своего рода гибрид BSD, Mach и некоторые другие вещи)... почти полностью C, с небольшим количеством ассемблера. (Источник)
Большая часть Cocoa реализована в Objective-C, объектно-ориентированном языке, который скомпилирован для работы с невероятной скоростью, но использует действительно динамическое время выполнения, что делает его уникальным. Поскольку Objective-C является надмножеством C, легко смешивать C и даже С++ в ваших приложениях Cocoa. (Источник)
Windows: C, С++, С#. Некоторые части в ассемблере.
Мы используем почти полностью C, С++ и С# для Windows. Некоторые области кода ручной настройки/ручной письменной сборки. (Источник)
Unix: C. Некоторые детали в сборке. (Источник)
Mac OS X использует большое количество С++ внутри некоторых библиотек, но она не отображается, поскольку они боятся нарушения ABI.
Windows: в основном C и С++, некоторые С#
Я понимаю, что это старый пост, но Windows определенно не написан на С++. В нем много С++, но то, что мы определяем в качестве операционной системы, находится не в С++. Windows API, ядро Windows (оба они по сути являются операционной системой) написаны на C. Годы назад мне был предоставлен некоторый пропущенный код для Windows 2000 и Windows XP. Код был недостаточно полным для компиляции ядра или API, но мы смогли скомпилировать отдельные программы и службы. Например, мы смогли успешно скомпилировать Notepad.exe, mspaint.exe и службу spoolsv.exe(диспетчер очереди печати). Все написано на C. Я еще не посмотрел, но я уверен, что пропущенный код все еще сохраняется как файлы торрента, которые могут быть доступны.
Я прочитал или услышал, что Mac OS X написана в основном в Objective-C с некоторыми из частей более низкого уровня, таких как ядро и драйверы аппаратного устройства, написанные на C. Я считаю, что Apple "съедает" свои Собственная пища для собак ", что означает, что они пишут Mac OS X, используя собственный Xcode Developer Tools. GCC (сборник компиляторов GNU) compiler-linker - это инструмент командной строки unix, который xCode используется для большей части его компиляции и/или связывания исполняемых файлов, Среди других возможных языков я знаю, что GCC компилирует исходный код с языков C, Objective-C, С++ и Objective-C ++.
Вы правы MacOSX имеет Objective-C в ядре.
Windows С++
Linux C
О языках сценариев нет, они довольно высокого уровня.
Смотрите под заголовком Одна операционная система, работающая на нескольких платформах, где указано:
Most of the source code for Windows NT is written in C or C++.
В качестве дополнения к ядру Mac OS X Finder не был написан в Objective-C до Snow Leopard. В Snow Leopard это было написано в Cocoa, Objective-C
Ядро Linux в основном написано на C (и немного на языке ассемблера, как я полагаю), но некоторые из важных утилит (программ) пользовательского пространства - это сценарии оболочки, написанные на языке сценариев Bash. Помимо этого, трудно определить "Linux", поскольку вы в основном создаете систему Linux, выбирая нужные вам биты и комбинации, и в зависимости от того, чего хочет пользователь Linux, вы можете использовать практически любой язык. (Как сказал Павел, Python и С++ играют важную роль)
Windows явно не написана на С# (!)
Просто посмотрите исходный код Windows, и вы увидите...