Vlastní OS - z RTOS do PTOS – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vlastní OS - z RTOS do PTOS – Assembler – Fórum – Programujte.comVlastní OS - z RTOS do PTOS – Assembler – Fórum – Programujte.com

 

Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
10. 6. 2013   #1
-
0
-

Dobrý den,
píši vlastní OS v Assembly a mám pár dotazů k přechodu z RTOS do protected-mode OS:

Dočetl jsem se, že pro chráněný režim stačí používat 32/64bitové registry - že prý k nižším se dá přistupovat přes tyto vyšší - jak to mysleli? Další věc - bootuji jako RTOS (což snad ani jinak nejde) - takže všechny základní funkce kernelu jsou real-time - ty už v chráněném režimu nemohu používat? (Hodlám chráněně přepsat až shell.) Používal jsem několik PTOS co umožňovali spravovat nižší RT funkce - jen nechci něco udělat špatně. A poslední - jak pustit více programů najednou? To si ten multitasking mám vytvořit ručně? (Napadá mne jen využít Unixové myšlenky vše je soubor a jako při hibernaci ukládat stav procesu do souboru. Pak by byl puštěn vpodstatě jen proces pro přeskakování co by přerušoval do jednoho ze souborů procesů. Pokud je to reálná myšlenka - jak vyliji paměť procesoru do souboru? Bylo by na to přerušení?)

Děkuji.

Nahlásit jako SPAM
IP: 78.136.180.–
TheOndrap+2
Super člen
10. 6. 2013   #2
-
0
-

Ahoj,

Já sem z toho volaký zmetený :( Sorry, jestli budu mít nějakou blbou otázku, ale fakt sem to z tvého postu nepochopil.

  • Co je to PTOS (Protected Mode)?
  • To děláš pro nějaký mikročip nad Unixem, nebo?

Multitasking - no budeš muset implementovat nějaký algoritmus(FIFO, Round-Robin, RealTime..) pro přidělování procesu na precosor( plánovač ). A potom udělat správu paměti a přepnutí toho procesu (memory manager / dispatcher)

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
10. 6. 2013   #3
-
0
-

"píši vlastní OS v Assembly a mám pár dotazů k přechodu z RTOS do protected-mode OS:"

Co je na tom nejasné? Naprosto nezávislý naprosto nezkopírovaný OS... (Vše pochází z mé hlavy - tak jak mi to přišlo pod ruku a bylo třeba.)

Jak jsem psal - chráněně bych chtěl psát až shell - features kernelu bych chtěl nechat realtime - kvůli přístupu k BIOSu atd. (Takže uživatel by viděl chráněný OS a snažil bych se funkce real-time zaštiťovat tou chráněnou skořápkou.)

K multitaskingu - můžeš to zkonkretizovat pro Assembly?

Jinak píši to objektově a seznam objektů použitelných kdekoliv s RT přístupen:

System.Run
System.Pause
System.FatalError
System.ApiVersion

Console.WaitForKey
Console.WriteHline
Console.PrintRegs
Console.NewLine
Console.ReadLine
Console.NibbleAL
Console.ReadKey
Console.DigitAX
Console.PrintAL
Console.PrintAX
Console.Space
Console.Write
Console.Clear

Cursor.Location
Cursor.Move
Cursor.Show
Cursor.Hide

String.Join
String.Strip
String.Time
String.Date
String.Parse
String.Copy
String.Dump
String.Upper
String.Lower
String.Length
String.Chomp
String.Reverse
String.IndexOf
String.TimeFmt
String.DateFmt
String.Truncate
String.Tokenize
String.Compare
String.ReplaceChar
String.SubCompare

Int.Parse
Int.ToString
SInt.ToString
LInt.ToString

DialogBox.File
DialogBox.List
DialogBox.Plain
DialogBox.Input
DialogBox.DrawBlock

Math.Random
Math.BcdToInt
Math.LIntNegate

File.Size
File.Load
File.Save
File.Exists
File.Create
File.Remove
File.Rename

Disk.FileList

Port.SendByte
Port.SpeakerOn
Port.SpeakerOff
Port.ReceiveByte
Port.GetViaSerial
Port.SendViaSerial
Port.SerialPort.Enable

Gshell.DrawBack

Gshell - pokus o grafický shell. Proč to sem píši - tyto funkce jsou jak jsem psal RT (real-time) - měl bych přecijen nějakou předělat do chráněného?

Děkuji.

Nahlásit jako SPAM
IP: 78.136.180.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
10. 6. 2013   #4
-
0
-

Funkcí to má více - ale ty jsou již přímou součástí systému a zápolím s jejich objektovým vyjádřením - proč OOP? Snažím se udělat Framework a nahradit base language (To má většína DOSů pro správu svých funkcí v programech pro ten daný DOS.) plnohodnotným jazykem schopným používat všechny funkce použité pro chod OS a jeho nadstaveb. (Zabiji 2 mouchy jednou ranou, přičemž ten jazyk bych chtěl dotáhnout až na virtuální stroj.)

Nahlásit jako SPAM
IP: 78.136.180.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Podobná vlákna

OS pro MCU (RTOS) — založil babulax

Vlastní aplikace — založil Aqlijhu

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý