📄 koe.htm
字号:
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">terminating
processes and networking. As for timing, the os task has no privelidges
over other processes.<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">System
calls are implemented to interrupt 0x40 and the function parameters are
saved to registers. Stack is not used for passing parameters. The process
executing in the os side ( system call ) is no different to the scheduler
from the application side of the process. The data segments are set to
start from physical address zero. The application does not have to reserve
stack space for the system call function. This leads to smaller
application runtime-sizes.<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">The
scheduler is set to run every 1/100 a second. A task switch can also occur
with the change_task -function with delay or event_wait -functions, for
example. This way the application doesn't reserve more processor time than
it really needs.<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">The
first started application is saved to 'firstapp' in
kernel.asm.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Courier; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Courier New'"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes"> </SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>1c)
Kernel file structure<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">Main
kernel code is saved in Kernel.asm. Kernel16.inc and Kernel32.inc include
the used device drivers. <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">Bootmosf.asm<SPAN
style="mso-spacerun: yes"> </SPAN>- Booting from
floppy<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">Bootmf32.asm<SPAN
style="mso-spacerun: yes"> </SPAN>- Booting from
harddrive<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><![if !supportEmptyParas]><![endif]> <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB">Kernel.asm<SPAN
style="mso-spacerun: yes"> </SPAN><-<SPAN
style="mso-spacerun: yes"> </SPAN>Kernel16.inc<SPAN
style="mso-spacerun: yes"> </SPAN><-<SPAN
style="mso-spacerun: yes"> </SPAN>Bootcode.inc<SPAN
style="mso-spacerun: yes">
</SPAN>bootup info <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Booteng.ing<SPAN
style="mso-spacerun: yes">
</SPAN>bootup language <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Pci16.inc<SPAN
style="mso-spacerun: yes">
</SPAN>pci 16 bit functions<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes"> </SPAN><o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes">
</SPAN>Kernel32.inc<SPAN style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Sys32.inc<SPAN
style="mso-spacerun: yes">
</SPAN>process management<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Stack.inc<SPAN
style="mso-spacerun: yes">
</SPAN>network interface <o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Queue.inc<SPAN
style="mso-spacerun: yes">
</SPAN>buffer queues<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Ip.inc<SPAN
style="mso-spacerun: yes">
</SPAN>ip processes<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Tcp.inc<SPAN
style="mso-spacerun: yes"> </SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>tcp
processes<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Udp.inc<SPAN
style="mso-spacerun: yes">
</SPAN>udp processes<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes">
</SPAN>Ethernet.inc<SPAN
style="mso-spacerun: yes"> </SPAN>ethernet
processes<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Rtl8029.inc<SPAN
style="mso-spacerun: yes"> </SPAN>Rtl8029
driver<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><SPAN
style="mso-spacerun: yes"> </SPAN><-<SPAN
style="mso-spacerun: yes"> </SPAN>I8255x.inc<SPAN
style="mso-spacerun: yes"> </SPAN>I8255x
driver<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Rtl8139.inc<SPAN
style="mso-spacerun: yes"> </SPAN>Rtl8139
driver<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes">
</SPAN>Shutdown.inc<SPAN
style="mso-spacerun: yes">
</SPAN>shutdown and restart<o:p></o:p></SPAN></P>
<P class=MsoPlainText><SPAN
style="FONT-FAMILY: Courier; mso-fareast-font-family: 'MS Mincho'; mso-ansi-language: EN-GB"><SPAN
style="mso-spacerun: yes">
</SPAN><-<SPAN style="mso-spacerun: yes"> </SPAN>Fat32.inc<SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -