Commit Graph
24 Commits
Author SHA1 Message Date
Aaron 00a9da42f1 Storage system: AHCI, IDE rework, VFS, volume manager, flatfs, async IO, IOAPIC 2026-03-05 19:17:08 +00:00
t3hn3rd de6fde05cc feature: preemptive process management - implementation progress
Implement a preemptive multitasking system for the Asuro kernel.

Context Switching & Scheduling:
- Custom IRQ0 ISR (contextswitcher.pas) with PUSHAD/POPAD ESP-swap
- Round-robin scheduler with priority-based quantum
- Process table using DList of PProcessContext pointers
- Idle process (PID 0) replaces kernel HLT loop

Process Lifecycle:
- create/kill/terminate/sendMessage API (processmanager.pas)
- Process states: Created, Running, Ready, Suspended, Awaiting,
  Finished, Error
- Parent-child tracking (ParentID, smChildExited notification on reap)
- proc_yield, proc_sleep_ms, proc_await, proc_suspend, proc_exit

Resource Binding & Cleanup:
- Per-process resource list
  (bindResource/unbindResource/unbindAllResources)
- TCP sockets auto-bound to owning process (OwnerPID on TTCPSocket)
- socket_cleanup + auto-unbind in DestroySocket

VTerminal Refactor:
- Multi-instance design (heap-allocated TVTermState per terminal)
- Foreground process with incremental stdout/stderr drain via LVGL timer
- Ctrl+C kills foreground process (killForeground)
- Per-terminal CWD, dir stack, FS builtins (CD/LS/PUSHD/POPD)
- Background job support (& suffix, JOBS/FG commands)
- Command history (Up/Down arrow)

Command Consolidation:
- 14 commands extracted from 9 units into centralized progmanager.pas
- Command procedures exported in host unit interfaces
- E1000/TRACER/stdio builtins kept in-place (conditional/circular)

New Units:
- src/include/proctypes.pas — process type definitions
- src/processmanager.pas — core process manager
- src/prog/ping.pas — standalone ICMP ping process
- src/prog/testcmd.pas — test command (proc_sleep_ms demo)
- src/testprocs.pas — process subsystem smoke tests

Misc:
- ICMP callbacks gain userData parameter for concurrency-safe ping
- CLI/STI guards on kalloc/kfree (lmemorymanager.pas)
- LV_KEY_CTRLC constant + Ctrl+C interception in LVGL keyboard hook
- Window owner PID tracking (windows.pas)
- ISR_32 gate override support (isrmanager.pas)
2026-03-04 19:42:33 +00:00
t3hn3rd 64b3c9a7ba Apache License
Added the apache license to all source files, accounting for authors. Also added a license.md containing the apache license + contributors.md listing all contributors.
2021-06-22 21:31:17 +01:00
kieron 9820ab7756 updates and stuff
git-svn-id: https://spexeah.com:8443/svn/Asuro@1442 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2020-07-21 23:50:07 +00:00
kieron 99fc00450e git-svn-id: https://spexeah.com:8443/svn/Asuro@1441 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2020-07-21 22:06:41 +00:00
kieron db58264fa6 Comments now conform to PasDoc specifications.
git-svn-id: https://spexeah.com:8443/svn/Asuro@749 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2018-10-12 20:49:03 +00:00
kieron 3124582151 git-svn-id: https://spexeah.com:8443/svn/Asuro@507 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2018-04-12 14:38:50 +00:00
kieron 3dc6a1d2b3 git-svn-id: https://spexeah.com:8443/svn/Asuro@504 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2018-04-12 00:35:11 +00:00
kieron 904588d072 git-svn-id: https://spexeah.com:8443/svn/Asuro@467 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2018-04-10 15:04:34 +00:00
kieron faf1471f32 Investigating USB
git-svn-id: https://spexeah.com:8443/svn/Asuro@260 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-10-26 11:42:04 +00:00
aaron ba511db97b git-svn-id: https://spexeah.com:8443/svn/Asuro@255 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2017-10-25 22:47:03 +00:00
aaron e3df25ce27 git-svn-id: https://spexeah.com:8443/svn/Asuro@253 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c 2017-10-25 19:37:21 +00:00
kieron 6a000366a5 Keyboard bug traced back to isr33.pas
git-svn-id: https://spexeah.com:8443/svn/Asuro@231 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-10-23 17:37:51 +00:00
kieron a4a3a25553 Fix
git-svn-id: https://spexeah.com:8443/svn/Asuro@210 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-10-22 01:48:39 +00:00
kieron 4becc26686 Commit Fix Hopefully.
git-svn-id: https://spexeah.com:8443/svn/Asuro@207 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-10-22 00:00:27 +00:00
kieron 1eb8256044 ds
git-svn-id: https://spexeah.com:8443/svn/Asuro@206 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-23 19:50:19 +00:00
kieron 82c557ecab we
git-svn-id: https://spexeah.com:8443/svn/Asuro@205 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-23 19:46:30 +00:00
kieron 5912e3b228 asas
git-svn-id: https://spexeah.com:8443/svn/Asuro@204 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-23 17:52:31 +00:00
kieron c5151506d6 fds
git-svn-id: https://spexeah.com:8443/svn/Asuro@202 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-23 17:30:15 +00:00
kieron 797ae1c7a4 dsds
git-svn-id: https://spexeah.com:8443/svn/Asuro@201 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-23 17:25:05 +00:00
kieron 1c64be9cb5 sdd
git-svn-id: https://spexeah.com:8443/svn/Asuro@200 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-22 20:18:49 +00:00
kieron b15760b7f6 d
git-svn-id: https://spexeah.com:8443/svn/Asuro@199 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-22 20:14:50 +00:00
kieron 5a2004b486 FUUUUUUUUUUUUUUUUUUUUUUU
git-svn-id: https://spexeah.com:8443/svn/Asuro@176 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-22 00:49:38 +00:00
kieron 8da6542775 Changes
git-svn-id: https://spexeah.com:8443/svn/Asuro@165 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
2017-05-21 00:34:43 +00:00