forked from giannitedesco/scaraOS
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
38 lines (35 loc) · 1.43 KB
/
README
File metadata and controls
38 lines (35 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
=======================================================================
ScaraOS: A modern multiboot kernel for learning OS fundamentals
Copyright (c) 2001-2010 Gianni Tedesco <gianni@scaramanga.co.uk>
Released under the terms of the GNU GPL version 3 (see: COPYING)
=======================================================================
ScaraOS started out as a good way for me to learn a lot of interesting stuff
all at once, things such as:
o x86 assembly
o deeper understanding of ia32
o learning about the components of the IBM PC/AT
o OS design fundamentals
o How crap a typical PC BIOS is
o How crap DOS is
o How a computer system works as a whole, from hardware to BIOS, to
bootloader, to kernel, to OS subsystems, to applications, to user interfaces.
ScaraOS might be of use to someone who also wants to write their own
kernel for fun. If so they are free to use my code, which is under GPL.
GPL ensures the spirit of co-operation and code sharing are passed on
with my work.
Current features:
o Mostly written in C
o Multiboot compliant
o Pre-emptive multi-tasking
o Paged memory management including demand loading of files, anonymous
memory areas and ELF binaries.
o Virtual filesystem switch including inode and page cache
o EXT2 support
o Slab allocator
o Block I/O subsystem
o Floppy disk controller driver
o 32bit protected mode
o 8254 PIT support
o 8259A PIC support
o PCI device enumeration
o VGA text mode output