diff --git a/scheme/sys/memory.rs b/scheme/sys/memory.rs new file mode 100644 index 0000000..ba58ae0 --- /dev/null +++ b/scheme/sys/memory.rs @@ -0,0 +1,10 @@ +use collections::Vec; + +use arch::memory::{free_frames, used_frames}; +use syscall::error::Result; + +pub fn resource() -> Result> { + let string = format!("Memory Used: {} KB\nMemory Free: {} KB\n", used_frames() * 4, free_frames() * 4); + + Ok(string.into_bytes()) +} diff --git a/scheme/sys/mod.rs b/scheme/sys/mod.rs index 7d560d3..f5ed0bf 100644 --- a/scheme/sys/mod.rs +++ b/scheme/sys/mod.rs @@ -10,10 +10,10 @@ use syscall::flag::{MODE_DIR, MODE_FILE, SEEK_CUR, SEEK_END, SEEK_SET}; use syscall::scheme::Scheme; mod context; +mod memory; mod scheme; //mod interrupt; //mod log; -//mod memory; //mod test; struct Handle { @@ -37,10 +37,10 @@ impl SysScheme { let mut files: BTreeMap<&'static [u8], Box> = BTreeMap::new(); files.insert(b"context", Box::new(move || context::resource())); + files.insert(b"memory", Box::new(move || memory::resource())); files.insert(b"scheme", Box::new(move || scheme::resource())); //files.insert(b"interrupt", Box::new(move || interrupt::resource())); //files.insert(b"log", Box::new(move || log::resource())); - //files.insert(b"memory", Box::new(move || memory::resource())); //files.insert(b"test", Box::new(move || test::resource())); SysScheme {