Commit Graph

28 Commits

Author SHA1 Message Date
Kevin Lange
10f4cc6811 Tasklets; fix dead sleep; kernel serial console
- Tasklets are essentially kernel threads. Still working on passing
  arguments to them, but they essentially just run functions and have
  special names like [[kttydebug]]. Eventually, I want disk scheduling
  and various (non-interrupt-driven) drivers running on these, but I'm
  still not sure how stable they are.
- Fix the scheduler so it supports not having anything to run. This took
  some tracking of what's running, and then inserting some liberal
  sleeps. Doesn't appear to break anything. Makes the system work when
  you try to sleep with only one process "running", so that's good.
- Start working on reimplementing the old kernel shell, but this time as
  a tasklet running in the background over serial. Probably going to try
  to add all the same features as before (tab completion, history, rich
  editing), but it may take some time to get it all in there. This
  console is mostly focused on helping with debugging EXT2 and other
  future stuff.
2013-11-27 19:11:58 -08:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
a2a890e1a8 Fresh new VFS syscalls: unlink, chmod, umask 2013-04-23 01:14:33 -07:00
Kevin Lange
2de26fafe1 Lazy FPU/SSE, more correct-er 2013-04-16 00:03:23 -07:00
Kevin Lange
41030465a8 Save/restore sse (poorly) 2013-04-15 23:23:56 -07:00
Kevin Lange
ef459bdaad More rough stubs and fixes 2013-03-20 21:24:55 -07:00
Kevin Lange
6f94ce2296 procfs extensions and ps command 2013-03-18 21:52:45 -07:00
Kevin Lange
e223c57af8 Reserve some entries for process scheduling 2013-03-17 16:33:28 -07:00
Kevin Lange
3a977369af Timed process sleeping (and bug fixes) 2012-12-10 20:28:31 -08:00
Kevin Lange
c90bf5cbc9 Remove a bitmask.
Adds a byte to the process struct, but avoids GCC-specific extensions of
using a single byte for a bitmask. May or may not have any effect
anywhere, but will make ./analyze happier.
2012-12-04 15:16:53 -08:00
Kevin Lange
193158079d Bunch of kernel cleanup 2012-11-30 18:26:47 -08:00
Kevin Lange
6e909acd07 Save/restore FPU state on task switch 2012-10-21 20:17:47 -07:00
Kevin Lange
816ddc8f3e Lots of process cleanup implemented; improved cursor rendering 2012-03-14 22:03:55 -05:00
Kevin Lange
de7a984938 Fix a bunch of bugs in signal handling and scheduling 2012-02-20 23:31:00 -06:00
Kevin Lange
a72f9bc7cf Fix stack bug. 2012-02-16 14:31:40 -06:00
Kevin Lange
de0bbe739b Fix a bunch of system calls... 2012-02-12 18:47:01 -06:00
Markus Schober
45903b204b fixed a subtle bug in shm; added a bunch of utilities to test it 2012-02-10 22:31:38 -06:00
Kevin Lange
79fcaf5136 Stability fixes. 2012-02-08 20:09:28 -06:00
Kevin Lange
65fa12f482 SIGNALS 2012-02-08 02:40:44 -06:00
Markus Schober
aec24c08f1 Attaching nearly works! 2012-02-07 02:29:28 -06:00
Kevin Lange
89d9265c73 Actually deschedule processes when they are waiting 2012-01-31 19:27:38 -06:00
Kevin Lange
c9d5e735ed Getting ready for thread support 2012-01-28 17:06:07 -06:00
Kevin Lange
ac8354d805 Add some system calls, plus a fakish /bin/login 2012-01-26 22:46:18 -06:00
Kevin Lange
d9c0c8efb6 Pipes, dup2, and an almost-kinda-working terminal 2012-01-24 19:06:07 -06:00
Kevin Lange
021585e9ef [misc] Massive improvements to process handling
- Free process resources when a process exits (reaped in next process
  cycle; should probably reap after a wait() or something)
- Free process struct after wait()
- Fix page allocation
- Fix fork() return value for child process (attempted to write to an
  invalid point in kernel-stack memory)

We shouldn't be triple faulting randomly anymore!

Continue investigating the fork() return value, as there was a bugged
return at some point during executon of a test run of thrash-process.
2011-12-15 17:21:28 -06:00
Kevin Lange
61bdd8f11d [misc] Various, meaningless edits 2011-12-12 02:17:14 -06:00
Kevin Lange
2a1b0d3dcf [process] Massive commit: New process model 2011-12-08 15:25:48 -06:00
Kevin Lange
3f513579e1 initial work on new process model 2011-12-07 20:59:08 -06:00