summaryrefslogtreecommitdiff
path: root/Kernel/ProcFS.cpp
AgeCommit message (Collapse)Author
2019-03-10ProcessManager: Show some basic system memory stats below the process table.Andreas Kling
This really improves the feeling of "system overview" :^)
2019-03-06Kernel: And some more KResult/KResultOr<T> porting work.Andreas Kling
2019-02-27Kernel: Use KResult in link().Andreas Kling
2019-02-27Kernel: Use KResult in unlink() and rmdir().Andreas Kling
2019-02-27Add chown() syscall and a simple /bin/chown program.Andreas Kling
2019-02-25More moving towards using signed types.Andreas Kling
I'm still feeling this out, but I am starting to like the general idea.
2019-02-25Kernel: Add KResult and KResultOr<T> classes.Andreas Kling
The idea here is to combine a potential syscall error code with an arbitrary type in the case of success. I feel like this will end up much less error prone than returning some arbitrary type that kinda sorta has bool semantics (but sometimes not really) and passing the error through an out-param. This patch only converts a few syscalls to using it. More to come.
2019-02-25AK: Add Retained<T>, like RetainPtr, but never null.Andreas Kling
Also use some Clang attribute wizardry to get a warning for use-after-move.
2019-02-21Kernel: Process::cwd_inode() should return a reference.Andreas Kling
There's always a current working directory inode.
2019-02-21Add a simple /bin/df which gathers its info from /proc/df.Andreas Kling
2019-02-21Kernel: Add link() syscall to create hard links.Andreas Kling
This accidentally grew into a little bit of VFS cleanup as well. Also add a simple /bin/ln implementation to exercise it.
2019-02-17Kernel: Remove tracking of bitmap memory.Andreas Kling
There are no more kernel bitmaps. It's much better this way.
2019-02-12Fix some compilation warnings.Andreas Kling
2019-02-10ProcFS: Show region flags in /proc/PID/vmAndreas Kling
It's useful to be able to see the readable, writable and bitmap flags.
2019-02-10ProcFS: /proc/sys entries should always be regular 644 files.Andreas Kling
2019-02-08Kernel: Use a Lockable<bool> for sysctl booleans as well.Andreas Kling
2019-02-08ProcFS: Add sysctl strings.Andreas Kling
They are backed by a Lockable<String> to ensure that access is synchronized.
2019-02-07Kernel: Add basic process priority support.Andreas Kling
For now, the WindowServer process will run with high priority, while the Finalizer process will run with low priority. Everyone else gets to be "normal". At the moment, priority simply determines the size of your time slices.
2019-02-07Kernel: When a lock is busy, donate remaining process ticks to lock holder.Andreas Kling
Since we know who's holding the lock, and we're gonna have to yield anyway, we can just ask the scheduler to donate any remaining ticks to that process.
2019-02-06Kernel: Add /proc/pci so we can see what's on the PCI bus.Andreas Kling
2019-02-05Show the amount of memory in GraphicsBitmaps in /bin/top.Andreas Kling
This seems like an extremely relevant metric to track.
2019-02-04ProcFS: Fix wrong linkage for /proc/cpuinfo inode.Andreas Kling
2019-02-04Add a /bin/top program for process table monitoring.Andreas Kling
It automagically computes %CPU usage based on the number of times a process has been scheduled between samples. The colonel task is used as idle timer. This is pretty cool. :^)
2019-02-03Kernel: Add a /proc/all process table dump.Andreas Kling
This will be useful for implementing some process-related utilities.
2019-02-03Kernel: Rewrite ProcFS.Andreas Kling
Now the filesystem is generated on-the-fly instead of manually adding and removing inodes as processes spawn and die. The code is convoluted and bloated as I wrote it while sleepless. However, it's still vastly better than the old ProcFS, so I'm committing it. I also added /proc/PID/fd/N symlinks for each of a process's open fd's.