Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     05 Oct 2004  22:00:07
 To : Dmitry Ponyatov
 Subject : Re: написание ядра ОС на С++
 -------------------------------------------------------------------------------- 
 
 Dmitry Ponyatov <Dmitry.Ponyatov@p29.f18.n5057.z2.fidonet.org> wrote:
 
  DP>  заранее извиняюсь за оффтопик, если кто будет отвечать, прошу в нетмайл
 
  DP>  есть ли кто, имеющий опыт написания ядер ОС и подобной лабудени на С++ с
  DP> активным использованием ООП и динамической памяти с использованием gcc
  DP> (конкретнее DJGPP2) ? какие URLы посоветуете посмотреть ?
 
 Hачнем с начала:
 
 1. DJGPP это вообще говоря библиотека такая. ЗАменитель стандартной
 библиотеки языка C, позволяющий с помощью GCC компилировать программы
 для ОС MS-DOS, в поставку которой стандартная 32-битная библиотека C
 почему-то не входит. Кроме собственно библиотеки и необходимых стартовых
 файлов под этим названием обычно понимают собранный с помощью оной
 библиотеки комплект инструментов разработки.
 
 Писать с помощью DJGPP программы для ОС, отличной от MS-DOS вообще
 говоря, нельзя. Если очень извратиться, то можно собрать с помощью DJGPP
 кросскомпилятор GCC для целевой OC и запускать его под DOS, но зачем?
 Разработкой ОС лучше заниматься под нормальной операционной системой,
 например под эхотагом.
 
 Более того, при необходимости в наше время разрабатывать досовские
 программы рекомендуется собрать среду разработки c использованием
 библиотек DJGPP под эхотагом в режиме кросс-компиляции и работать в
 эхотаге. А отлаживать программы в dosemu или qemu.
 2. Разработка ядра ОС отличается тем что ядру стандартная библиотека не
 доступна - нет её еще в момент загрузки ядра. Более того, большая часть
 вызовов этой самой стандартной библиотеки как раз и обращается к
 сервисам, которые это самое ядро должно предоставить. Так что библиотека
 DJGPP к разработке ОС никоим боком. Хотя надо признать, что в силу
 ограниченности функциональности ОС MS-DOS рантайм DJGPP берет на себя
 некоторые функции, которые в принципе присущи ядру ОС. Так что  изучение
 исходников DJGPP для начинающего писателя ОС может оказаться полезным.
 
 3. В силу п.2. использование языка C++ для разработки ядер ОС неудобно.
 Это язык требует мощной поддержки со стороны рантайм-библиотек - всякие
 там конструкторы статических объектов и т.д. Фактически, для того чтобы
 писать ядро на C++ придется разработать специальный C++-рантайм для
 ядра, отличный от того, которым будут пользоваться приложения,
 работающие в этой ОС. По-моему, что-то подобное сделали разработчики
 BeOS, но кроме них никто до такого сумасшествия не доходил.
 
 4. Hу и вообще объектно-ориентированное программирование для ядер ОС -
 не самый подходящий стиль. 
 
 -- 
 Я до ста - точно молод.
 --- ifmail v.2.15dev5.3
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: написание ядра ОС на С++   Victor Wagner   05 Oct 2004 22:00:07 
 Re: написание ядра ОС на С++   Aleksey Barabanov   05 Oct 2004 22:51:15 
 Re: написание ядра ОС на С++   Victor Wagner   05 Oct 2004 23:47:17 
 Re: написание ядра ОС на С++   Aleksey Barabanov   06 Oct 2004 11:00:43 
 Re: написание ядра ОС на С++   Dmitry Fedorov   06 Oct 2004 20:07:25 
 Re: написание ядра ОС на С++   Victor Wagner   06 Oct 2004 21:12:43 
 Re: написание ядра ОС на С++   Dmitry Fedorov   06 Oct 2004 21:37:38 
Архивное /ru.linux/151781400851f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional