![]() |
C++ and Operating System
я делаю в школе проект и мне нужна помощь.
есть ли книга про то как написать ОС на С++??? помогите пожалуйста!!! спасибо. |
уверен, что нет. Даже если есть, то там только теория.
ОС написать ты сам решил, или именно задание такое? |
задание такое
|
mr.xakep
Ne slaboe zadanize :) ydachi |
mr.xakep :Может не ОС, а загрузчик?
|
Полный текст задания - в студию!
Сдаётся мне написать надо не ОС а шелл/GUI |
Уверен, что shell. Похожее было у меня.
Я писал читалку текстов с графическим интерфейсом и все такое. Текст обычный plain текст но там некоторые команды использовались. Для смены цвета, вывода картинок. Попробуй такую и написать. Я писал на асме, поэтому написание заняло больше времени чем если бы я писал на си. |
вот сэры, хороший сайт :)
www.lowlevel.ru очень грамотный там форум и статьи по написанию ОС с нуля :) Поможет получить представление как работает этот "белый чудо ящик" :biggrin: |
2 ppiitt: Лови звезду :cool:
|
ppiitt :Да, не всегда, как видишь за старания воздается по заслугам...
Думаю чем судить да рядить, лучше подождать что нам скажетmr.xakep , всетаки его топик. |
SapeR
ты угадал,главная цель это kernel и shell.также надо сделать ещё что-нибудь вроде text editor,остальное по желанию. DeToNaToR можешь дать source твоего проекта для ознакомления и идей??? ppiitt сайт прикольный,я его знаю. но пока что ничего что бы мне помогло я там не нашёл. спасибо всем за помощь. жду ещё ответов от вас. |
mr.xakep
"Огласите весь список пжалста"(с) ppiitt Thanx a lot; +5; :yees: :yees: |
mr.xakep :Заданьице опиши подробненько-подробненько плиз.
|
вот вам подробное задание:
надо сделать загрузочную дискету на котороы должен быть kernel и shell. возможности ОС такие: 1.команда вроде DIR в ДОСе (показывает что есть в данной директории) 2.команда вроде CD в ДОСе (войти в указаную директорию) 3.text editor(программа чтобы создавать и редактировать файлы в текстовом формате) 4.команда HELP 5.команда EXIT или REBOOT (выход из ОС) |
чего-то я не понимаю - ето надо написать драйвер фаиловоы системы (или систем), драйвера дисков и т.д.?
ето же до хрена работы!!! |
mr.xakep
а случайно нельзя в качестве базы для выполнения задачи использовать BootableDisk MS-DOS 6.22 (command.com+msdos.sys+io.sys) с вызовом твоей апликации из autoexec.bat ? ;) |
SapeR
нет,нельзя. bootstrap-loader у меня уже есть. |
обьясни пожалуйста кто такой bootstrap-loader
|
SapeR
это для того чтобы комп с дискеты начинал читать. когда комп включается ,комп начинает искать boot-sector ,находит его на дискете и грузит kernel с дискеты. |
mr.xakep
к сожелению source нет :/ Полетел винт. Так я очень дорожил проектом, то никому его не давал. Эх... жаль так, самый большой мой проект был на асме. Около 3000 строк кода. Есть только скомпилированный код, проекта, который стал основанием для читалки. Вот его могу выложить. Там 10 кило всего примерно :) |
DeToNaToR
ладно, хотя бы это. выкладывай посмотрим. заранее спасибо. (а тот код действительно жаль) |
Вложений: 1
mr.xakep : А тебе обязательно все надо на С, или частями можно и на ассме?
Загрузчик: BITS 16 ;Вторичный загрузчик будет загружен по этому адресу: %define SECOND 0x7e00 org 0x7C00 section .text start: xor ax, ax cli ;перед установкой стека отключим прерывания mov ss, ax mov sp, start sti ;нам понадобятся прерывания БИОС mov ds, ax ;загрузим необходимые сегментные регистры нулем mov es, ax ; mov ch, 0 ;Цилиндр mov bx,SECOND ;Адрес по которому будут записаны данные mov ah, 02h ;Функция диского сервиса 02 - чтение секторов mov al,17 ;Число секторов mov cl,2 ;Сектор, с которого начать mov dl,0 ;Диск (дисковод А - 0) mov dh,0 ;Головка int 0x13 ;Прерывание 0x13 - дисковый сервис БИОС jmp SECOND ;Переход на вторичный загрузчик По поводу загрузчика глянь так же сюда: http://triadaos.narod.ru/bootsec-ru.htm Цитата:
|
CEO
спасибо.класно. |
Вложений: 1
mr.xakep,
сорри что так поздно... вот файл вложенный. Это то, что я писал на асме в 98 году. Полностью писал сам до последней строчки. |
Часовой пояс GMT +4, время: 19:59. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.