Kernel 0.9.1 : KERNEL, Preemtive mode.

This commit is contained in:
Rémy GIBERT 2018-05-25 21:03:31 +02:00
parent 8ec7b2e443
commit cb62e18f56
3 changed files with 22 additions and 5 deletions

View File

@ -30,10 +30,10 @@ HST.GetByName >PULLW ZPPtrDNS
>PUSHW ZPPtrIP
>PUSHW L.HST.SSScanF
>PUSHW L.HST.SScanF
>LDYA ZPPtrDNS
>SYSCALL SScanF.YA
bcc .9
jmp DNS.QUERY.I
.9 rts

View File

@ -94,7 +94,7 @@ L.DNS.MSG .DA DNS.MSG
L.ARP.CACHE .DA ARP.CACHE
L.DNS.CACHE .DA DNS.CACHE
L.SKT.Template .DA SKT.Template
L.HST.SSScanF .DA HST.SSScanF
L.HST.SScanF .DA HST.SScanF
L.TmpByte .DA TmpByte
L.TCP.IN.JMP .DA TCP.IN.JMP.CLOSED
.DA TCP.IN.JMP.LISTEN
@ -289,7 +289,7 @@ TmpOffset .BS 2
hFrameIn .BS 1
hFrameOut .BS 1
bTextMode .BS 1
HST.SSScanF .AZ "%d.%d.%d.%d"
HST.SScanF .AZ "%d.%d.%d.%d"
IP.ID .BS 2
IP.CHECKSUM .BS 4
NODE.SSOCK .BS 1 S.NODE.HANDLER

View File

@ -9,7 +9,24 @@
## Latest News 2018-04-29
Kernel 0.9.1 is now preemptive. All you need is a "tick" source, see below for supported hardware.
Kernel 0.9.1 is now preemptive.
It defaults to cooperative mode ('P'olling mode). For this, no particular hardware needed (except 65c02 and 128k, of course!)
If you want to enable preemptive mode, all you need is a "tick" source to get 'V'BL or 'C'lock Mode.
(see below for supported hardware)
Then you must explicitly ENABLE it using KCONFIG utility. (see screenshot below)
You can monitor the kernel state on the 'SYS' screen (OA-1, or SHIFT-OA-1 on french keyboards) and look at the upper right corner, ytou should see a blincking 'P', 'V' or 'C', showing you the current kernel state..
If you enabled preemptive mode, you should see an additional blinking 'S', each time the kernel switch from one PS to another.
Reminder :
+ (SHIFT)-OA-1 : Kernel SYS Screen
+ (SHIFT)-OA-2 : Console Screen (Shell...)
+ (SHIFT)-OA-3 : DHGR Screen (if loaded)
For now, only SBIN/BIN executables are "switcheable".
Roadmap is as follow: