-
Notifications
You must be signed in to change notification settings - Fork 12
/
TODO
78 lines (55 loc) · 2.35 KB
/
TODO
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
TODO List
=========
Todo items are divided in tasks, features and milestones.
A **tasks** is a modification and/or an addition that usually improves an
existing feature.
A **feature** is a modification that is usually tangible to the end user.
Thus, a feature adds value to the whole project from the user perspective.
To be implemented, a feature is commonly divided in, possibly parallelizable,
smaller tasks.
A **milestone** is a notable feature. Adds huge value to the whole project.
Note: features and milestones that are prefixed with a '~' in place of a '-'
where previously started, thus some code is available as a base start.
Code is available in the corresponding branch.
If you wish to contribute, even for a small typo fix or documentation, feel
free to contact the author for further informations.
All contributions to the project will be listed in the AUTHORS document.
### Generic coding rules
- (Try) to document code supposed to be shared across transaction units using
Doxygen syntax.
- No more that 80 characters columns.
- No `typedef`s for structures except for the POSIX defined ones.
- Use `underscore_case` (e.g. No CamelCase) except for the POSIX defined
structures
Kernel
------
### Minor
- Better 'sys_dump' syscall to print system informations.
Accepts a parameter with the things to dump.
- At startup open ttys based on the '/etc/tty' file.
- Send kprintf to a special tty linked to the serial
- Kernel log file
- (Always) Spot and signal deadcode/bugs.
### Major tasks
- On page faults happened in user space expand the address space only if
allowed (stask/heap expansion). (function: page_fault_handler)
- Better isolation of machine architecture specific code.
- Process address space "Copy on Write"
- TTY attributes (termios) and tty code improvement.
### Milestones
~ ARM port, possibly Rasp-Pi first (feat/arm)
- Serial driver attached to a tty
~ PCI driver (feat/socket)
~ Networking (feat/socket)
- Ext2 write support
User applications
-----------------
- 'ps' user program to get running process informations.
- Any standard *nix applications are welcome, put them in `/bin/
- Non standard useful applications should be placed in `/usr/local/bin`.
- Testing applications should be placed in `/test` directory.
- Pipe commands
- Output redirection
Known Bugs
----------
No known bugs