CeDOS - 7557d90d1d40ba174f26c830d557d2f358470143 (log)

FAT: Improve memory efficiency Reuse a single cluster buffer instead of re-mallocing it with every read call.
Celina Sophie Kalus
Sun, 26 Nov 2023 22:57:20 +0100
syscall: Added syscall for memory usage
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
kernel: Added ticks
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
bugfix: Programs called without arguments unstable
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
shell: Added MD5 hash program
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
libcedos: Added rudimentary string.h
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
files: Make devices non-blocking Instead of yielding from the kernel, we yield from the user process, where we know better whether we want to block or not.
Celina Sophie Kalus
Sun, 26 Nov 2023 22:22:12 +0100
Merge branch 'hotfix-make' into develop
Celina Sophie Kalus
Sat, 25 Nov 2023 21:08:27 +0100
elf: Added file error handling
Celina Sophie Kalus
Fri, 24 Nov 2023 22:18:09 +0100
imgview: Removing non-stdlib syscalls and avoiding big buffers
Celina Sophie Kalus
Fri, 24 Nov 2023 17:03:02 +0100
shelf: Removing non-stdlib syscalls
Celina Sophie Kalus
Fri, 24 Nov 2023 17:01:50 +0100
libcedos: Adding getchar and putchar methods
Celina Sophie Kalus
Fri, 24 Nov 2023 17:01:04 +0100
hexdump: Using ftell
Celina Sophie Kalus
Fri, 24 Nov 2023 16:15:07 +0100
Adding more cstdlib functions
Celina Sophie Kalus
Fri, 24 Nov 2023 16:13:59 +0100
fix: hexdump format
Celina Sophie Kalus
Fri, 24 Nov 2023 14:55:17 +0100
fix: throw error when violating page protection
Celina Sophie Kalus
Fri, 24 Nov 2023 14:54:51 +0100
Optimizations to hexdump
Celina Sophie Kalus
Fri, 24 Nov 2023 13:56:21 +0100
Added sprintf to stdlib
Celina Sophie Kalus
Fri, 24 Nov 2023 13:56:04 +0100
Implemented lseek and tell, improved stdio
Celina Sophie Kalus
Fri, 24 Nov 2023 00:11:41 +0100
Hotfixes + added malloc for keyboard buffer
Celina Sophie Kalus
Sat, 29 Apr 2023 17:03:17 +0200
Merge branch 'feature/files' into develop Added file offsets and lseek function
Celina Sophie Kalus
Sat, 29 Apr 2023 15:03:56 +0200
hotfix: memory structs not volatile, leading to overoptimization
Celina Sophie Kalus
Sat, 29 Apr 2023 14:29:44 +0200
how did this even work before?!?!
Celina Sophie Kalus
Sat, 29 Apr 2023 13:31:25 +0200
Merge branch 'feature/kmalloc' into develop Added malloc to kernel to allow for dynamic memory allocation
Celina Sophie Kalus
Tue, 25 Apr 2023 22:23:56 +0200
Merge branch 'feature/files' into develop Files are now actual structures containing information, and different file operations are encapsuled into a file_operations struct
Celina Sophie Kalus
Tue, 25 Apr 2023 21:35:58 +0200
added binary image generator
Celina Sophie Kalus
Sun, 16 Apr 2023 22:58:42 +0200
Added syscall for iterating through directory
Celina Sophie Kalus
Mon, 10 Apr 2023 23:11:34 +0200
Eliminated some compier warnings
Celina Sophie Kalus
Mon, 10 Apr 2023 21:11:02 +0200
Scheduler: Minor fixes
Celina Sophie Kalus
Mon, 10 Apr 2023 21:10:51 +0200
Graphics: Fixed a bug that would cause crashes occasionaly
Celina Sophie Kalus
Mon, 10 Apr 2023 21:09:19 +0200
Bootloader: Bugfixes Fixed bootloader bug (hard drive index overwritten by bootloader) and eliminated warnings
Celina Sophie Kalus
Sat, 08 Apr 2023 18:22:46 +0200
imgview: Now understands bitmap format
Celina Sophie Kalus
Fri, 07 Apr 2023 14:12:51 +0200
Some hotfixes, added quit program
Celina Sophie Kalus
Fri, 07 Apr 2023 13:03:58 +0200
Renamed "apps" to "shell" and added version number to shell
Celina Sophie Kalus
Fri, 07 Apr 2023 12:14:14 +0200
Build system: Moved libcedos to its own module
Celina Sophie Kalus
Fri, 07 Apr 2023 11:41:11 +0200
Common app functions now compiled into a static library
Celina Sophie Kalus
Fri, 07 Apr 2023 11:16:00 +0200
Merge branch 'feature-graphics' into develop Added driver for switching graphics mode and applications to display images
Celina Sophie Kalus
Fri, 07 Apr 2023 10:43:45 +0200
Added video output for debug
Celina Kalus
Thu, 06 Apr 2023 22:33:51 +0200
Fixed a scheduler bug
Celina Kalus
Thu, 06 Apr 2023 22:23:41 +0200
Added graphics init function
Celina Kalus
Thu, 06 Apr 2023 21:57:30 +0200
Added syscall to change graphics mode
Celina Kalus
Mon, 27 Mar 2023 21:36:35 +0200
Real mode switch works
Celina Kalus
Mon, 27 Mar 2023 21:16:22 +0200
Considerations for paging
Celina Kalus
Mon, 27 Mar 2023 18:41:59 +0200
Copying the realmode graphics code to its proper destination
Celina Kalus
Mon, 27 Mar 2023 18:10:54 +0200
Real mode switch without any interrupt call yet
Celina Kalus
Mon, 27 Mar 2023 17:46:48 +0200
Moved bootloader pages to preserve real mode interrupt table
Celina Kalus
Mon, 27 Mar 2023 16:52:13 +0200
Merge branch 'feature-filesystem' into develop Added syscalls to enable applications to access files and unified FAT files and console in one interface (which is very hacky at this point)
Celina Kalus
Thu, 06 Apr 2023 19:32:03 +0200
Shell Interface working!
Celina Kalus
Sat, 25 Mar 2023 17:04:34 +0100
Fixed a problem with the scheduler which made it impossible to get keyboard input
Celina Kalus
Sat, 25 Mar 2023 13:43:45 +0100
Macros to hide debug output when not necessary
Celina Sophie Kalus
Fri, 24 Mar 2023 23:57:14 +0100
Restructured apps folder, enabling multiple different apps
Celina Sophie Kalus
Fri, 24 Mar 2023 23:24:22 +0100
Merge branch 'feature-bootloader' into develop Bootloader has been updated to support FAT12 file system, and necessarily, kernel now has FAT12 support too
Celina Sophie Kalus
Fri, 24 Mar 2023 21:05:54 +0100
Added code workspace
Celina Kalus
Tue, 21 Mar 2023 12:01:02 +0100
Added VNC support for emulator
Celina Kalus
Fri, 17 Mar 2023 13:08:26 +0100
User stdio now more efficient, using fewer system calls
Celina Kalus
Tue, 14 Mar 2023 19:31:39 +0100
Added strcpy, added buffers for process name and args
Celina Kalus
Tue, 14 Mar 2023 18:12:20 +0100
Added arguments to processes
Celina Kalus
Tue, 14 Mar 2023 17:57:29 +0100
Added very basic file interface for keyboard input and tty output
Celina Kalus
Tue, 14 Mar 2023 16:52:40 +0100
Implemented execution of ELF executables
Celina Kalus
Thu, 02 Mar 2023 12:18:24 +0100
More flexible API for scheduler
Celina Kalus
Wed, 01 Mar 2023 22:12:12 +0100
Added a syscall for print, updated fibonacci app
Celina Kalus
Wed, 01 Mar 2023 21:41:45 +0100
Moved sources to separate directory
Celina Kalus
Wed, 01 Mar 2023 20:45:50 +0100
Complete overhaul of the makefile structure: Only using one makefile per module instead of recursive make all the way
Celina Kalus
Wed, 01 Mar 2023 20:35:59 +0100
Modified makefiles to comply with conventions
Celina Kalus
Wed, 01 Mar 2023 15:43:11 +0100
Updated readme with link to cross compilation tutorial and successful cross-compiler builds
Celina Kalus
Wed, 01 Mar 2023 14:28:49 +0100
Corrected log file directory in run.sh
Celina Kalus
Wed, 01 Mar 2023 14:24:12 +0100
Makefiles: Improved subsystem building (added phony dependencies for boot, kernel and apps), changed logfile folder (debug is an ambiguous name), added -r flag to app building to prevent building an executable file
Celina Kalus
Wed, 01 Mar 2023 14:23:31 +0100
Made driver variables extern to avoid multiple definition of symbols (how did it even work before that?)
Celina Kalus
Wed, 01 Mar 2023 14:20:12 +0100
Updated gitignore for new log folder name
Celina Kalus
Wed, 01 Mar 2023 14:19:08 +0100
Improved Stack Checksums, sched_kill, added test procedure
Celina Sophie Kalus
Sat, 27 Jan 2018 16:51:47 +0100
Implemented Program Loader
Celina Sophie Kalus
Fri, 26 Jan 2018 23:30:27 +0100
Fixed critical sections
Celina Sophie Kalus
Fri, 19 Jan 2018 20:42:14 +0100
Syscall handler modified Now takes actual arguments
Celina Sophie Kalus
Fri, 19 Jan 2018 20:16:47 +0100
Implemented low-level keyboard driver
Celina Sophie Kalus
Fri, 19 Jan 2018 18:57:57 +0100
Improved Scheduler NOTE: sched_kill not yet fully functional
Celina Sophie Kalus
Wed, 17 Jan 2018 23:51:44 +0100
Fixed sched_exec issue, and other things - Implemented stack integrity check - Implemented syscalls The paging subsystem could REALLY need some rework, it's getting REALLY messy
Celina Sophie Kalus
Wed, 17 Jan 2018 15:45:24 +0100
All the small things ISSUES: sched_exec does not work when performed inside of a process, unsure why
Celina Sophie Kalus
Mon, 15 Jan 2018 00:59:06 +0100
Fixed some things
Celina Sophie Kalus
Sun, 14 Jan 2018 00:09:02 +0100
Improved scheduler Process stacks now reside in same virtual memory location.
Celina Sophie Kalus
Sat, 13 Jan 2018 23:53:57 +0100
Implemented scheduler TODO: - Implement scheduling strategies. - Move process stacks to predetermined private stacks that overlap each other in virtual memory.
Celina Sophie Kalus
Sat, 13 Jan 2018 22:59:11 +0100
Fixed INT 20h issue Turns out I forgot the 0x prefix of the number of IDT entries... So there were 31 entries, which does not include INT 20h. Now there are 0x31 entries, like there should be.
Celina Sophie Kalus
Mon, 08 Jan 2018 16:53:42 +0100
blahblah
Celina Sophie Kalus
Thu, 04 Jan 2018 21:22:08 +0100
Added process struct and functions
Celina Sophie Kalus
Tue, 02 Jan 2018 01:58:19 +0100
Moving memory management into own subdirectory
Celina Sophie Kalus
Mon, 01 Jan 2018 21:53:11 +0100
Major reorganization
Celina Sophie Kalus
Mon, 01 Jan 2018 21:37:18 +0100
Some code restructuring
Celina Sophie Kalus
Sun, 31 Dec 2017 18:51:52 +0100
shenanigans
Celina Sophie Kalus
Sun, 31 Dec 2017 16:02:37 +0100
Paging implementation extended Can create new page directories now and map physical address ranges to virtual addresses.
Celina Sophie Kalus
Sun, 31 Dec 2017 14:05:33 +0100
PIC driver implemented
Celina Sophie Kalus
Wed, 27 Dec 2017 22:38:34 +0100
DON'T INTERRUPT ME Interrupts are implemented, code now requires GCC version 7 or higher. Had to add a hack to make new linker work; bss segment is needed separately for whatever reason. Execution hits a double fault, but that is to be expected - we haven't yet setup the PIC, so the 0x08-interrupt will be fired by a misaligned PIC interrupt
Celina Sophie Kalus
Wed, 27 Dec 2017 00:51:39 +0100
Minor changes yet again
Celina Sophie Kalus
Mon, 25 Dec 2017 20:56:49 +0100
Renaming kernel files
Celina Sophie Kalus
Mon, 25 Dec 2017 19:39:42 +0100
Updated README.md
Celina Sophie Kalus
Mon, 25 Dec 2017 19:33:19 +0100
Massively changed makefiles Now, release and debug builds are done in different folders
Celina Sophie Kalus
Mon, 25 Dec 2017 19:18:57 +0100
Added A20 check Booting aborts if A20 is disabled
Celina Sophie Kalus
Mon, 25 Dec 2017 18:40:52 +0100
Added rudimentary documentation, improved makefile Makefile now handles input files more flexibly, so no makefile change is necessary when adding a new file
Celina Sophie Kalus
Mon, 25 Dec 2017 18:06:41 +0100
Added page allocator
Celina Sophie Kalus
Sun, 24 Dec 2017 16:57:59 +0100
Added cursor, added backspace
Celina Sophie Kalus
Sun, 24 Dec 2017 15:11:13 +0100
Minor things again
Celina Sophie Kalus
Sun, 24 Dec 2017 12:02:58 +0100
Minor changes
Celina Sophie Kalus
Sun, 24 Dec 2017 00:51:21 +0100
Paging works nvm everything i said
Celina Sophie Kalus
Sat, 23 Dec 2017 23:53:54 +0100
Added paging implementation This doesn't execute, it produces a triple fault when far jumping to kernel code. Not sure why
Celina Sophie Kalus
Sat, 23 Dec 2017 23:43:01 +0100
Updated second stage Added simple print and clear methods for second stage
Celina Sophie Kalus
Thu, 21 Dec 2017 23:22:00 +0100
Added method to copy kernel Doesn't work yet, probably because of A20 gate
Celina Sophie Kalus
Thu, 21 Dec 2017 23:07:31 +0100
Protected Mode bug fix Jump to protected mode now successful. Turns out the GDT descriptor had its arguments in wrong order.
Celina Sophie Kalus
Sun, 17 Dec 2017 01:32:48 +0100
.gitignore & makefile update
Celina Sophie Kalus
Sun, 17 Dec 2017 00:03:11 +0100
GDT added, some workflow changes OS currently jumps into protected mode before the prerequisites are set, so execution fails
Celina Sophie Kalus
Sat, 16 Dec 2017 18:36:29 +0100
Second stage bootloader implemented Very whacky implementation of a bios-driven floppy "driver"
Celina Sophie Kalus
Fri, 15 Dec 2017 23:48:31 +0100
Workflow changes Recursive Makefiles added to support multiple, independent project parts
Celina Sophie Kalus
Fri, 15 Dec 2017 22:17:16 +0100
Update makefile Added 'rebuild' recipe, more sophisticated 'clear'
Celina Sophie Kalus
Fri, 15 Dec 2017 00:04:55 +0100
Create README.md
Celina Sophie Kalus
Thu, 14 Dec 2017 23:55:59 +0100
Hello World!
Celina Sophie Kalus
Thu, 14 Dec 2017 23:46:15 +0100
Changed the behaviour of exec function to fit posix conventions, which also avoids having to copy data between different page directories
Celina Sophie Kalus
Fri, 24 Mar 2023 21:04:52 +0100
Very rudimentary file access for opening application
Celina Sophie Kalus
Fri, 24 Mar 2023 19:51:50 +0100
Added FAT driver to kernel
Celina Sophie Kalus
Fri, 24 Mar 2023 19:08:40 +0100
Target system image just big enough to fit into memory without interfering with mapped memory regions
Celina Sophie Kalus
Fri, 24 Mar 2023 18:33:08 +0100
Increased possible bootloader payload by increasing segment register ES instead of BX
Celina Sophie Kalus
Fri, 24 Mar 2023 18:27:20 +0100
FAT12 bootloader works now
Celina Sophie Kalus
Fri, 24 Mar 2023 16:35:33 +0100
Added some image size optimizations which saved about 30kB on the resulting image file
Celina Kalus
Tue, 21 Mar 2023 11:59:42 +0100
Moved kernel back to 0x100000 to allow for bigger ramdisk in the future (and to avoid collision with VGA memory)
Celina Kalus
Sat, 18 Mar 2023 22:36:42 +0100
Bootloader now reads MBR instead of relying on values given at compile time
Celina Kalus
Sat, 18 Mar 2023 19:21:02 +0100
Added debug output to kernel loader, and while we're at it, fixed a critical bug
Celina Kalus
Sat, 18 Mar 2023 18:00:37 +0100
Moved functions for A20 gate and drive access to separate files
Celina Kalus
Sat, 18 Mar 2023 16:32:26 +0100
Using new bootloader, added FAT12 structure to execution and made each module self-contained
Celina Kalus
Sat, 18 Mar 2023 01:46:06 +0100
Removed some unnecessary code (due to bootloader merge) and cleaned up some now unused variables
Celina Kalus
Fri, 17 Mar 2023 22:22:13 +0100
New bootloader works. Size of payload still limited. Fixed link points for kernel and ELF executable
Celina Kalus
Fri, 17 Mar 2023 22:12:42 +0100
Added A20 gate enabling
Celina Kalus
Fri, 17 Mar 2023 18:53:15 +0100
Removed accidental new file
Celina Kalus
Fri, 17 Mar 2023 15:00:55 +0100
Merged bootloader stages
Celina Kalus
Fri, 17 Mar 2023 14:06:27 +0100
Opening files exposed to user processes, added new shell tools
Celina Kalus
Mon, 27 Mar 2023 15:07:32 +0200
FAT functions now integrated into general file functions
Celina Kalus
Mon, 27 Mar 2023 15:02:29 +0200
Added application to display images
Celina Sophie Kalus
Fri, 07 Apr 2023 10:16:39 +0200
Added pipes
Celina Sophie Kalus
Tue, 25 Apr 2023 19:50:35 +0200
dir_next properly integrated into file_operations
Celina Sophie Kalus
Tue, 25 Apr 2023 18:29:01 +0200
Added file_operations struct to allow for easier addition of new device drivers
Celina Sophie Kalus
Tue, 25 Apr 2023 18:23:17 +0200
Making the compiler stricter
Celina Sophie Kalus
Tue, 25 Apr 2023 17:01:20 +0200
Slightly better way to handle file descriptors
Celina Sophie Kalus
Thu, 20 Apr 2023 22:15:04 +0200
File table moved to dynamic memory
Celina Sophie Kalus
Tue, 25 Apr 2023 22:23:30 +0200
Malloc added to process structs
Celina Sophie Kalus
Tue, 25 Apr 2023 22:14:51 +0200
Added page directory mapping for heap
Celina Sophie Kalus
Tue, 25 Apr 2023 22:07:39 +0200
Added malloc function
Celina Sophie Kalus
Tue, 25 Apr 2023 22:04:53 +0200
ELF module rewritten to use lseek and malloc instead of a fixed address buffer
Celina Sophie Kalus
Sat, 29 Apr 2023 15:03:38 +0200
Implemented file offset for FAT
Celina Sophie Kalus
Sat, 29 Apr 2023 14:45:46 +0200
Added offset to FAT file functions
Celina Sophie Kalus
Sat, 29 Apr 2023 14:31:49 +0200
qemu: VNC as environment option
Celina Sophie Kalus
Sat, 25 Nov 2023 21:06:59 +0100
readme: Correcting info about debug builds
Celina Sophie Kalus
Sat, 25 Nov 2023 21:00:58 +0100
make: fix build from clean repo not working
Celina Sophie Kalus
Sat, 25 Nov 2023 20:55:18 +0100
Merge pull request #2 from celinakalus/develop Adding rudimentary cstdlib for user programs
Celina Sophie Kalus
Fri, 24 Nov 2023 17:15:03 +0100
Merge pull request #1 from celinakalus/develop Improvements to the file system interface, addition of graphics modes, improvements of the shell interface. - Applications can now open files for reading - cat/hexdump commands prints the contents of a file on the terminal - Bitmap images are now "viewable" through the imgview command (it does not understand the bitmap format itself, so it prints the header as well, and images need to be 320px wide)
Celina Sophie Kalus
Fri, 07 Apr 2023 12:25:15 +0200
Merge branch 'develop' Added support for FAT12 and introduced the first rudimentary version of a shell.
Celina Kalus
Sat, 25 Mar 2023 17:06:09 +0100
Added roadmap
Celina Kalus
Sat, 18 Mar 2023 22:48:59 +0100