Baptiste Wicht
a4d84cb155
Assign a tty to each process
2014-02-01 17:09:55 +01:00
Baptiste Wicht
e76f3040cf
Prepare tty architecture
2014-02-01 17:09:42 +01:00
Baptiste Wicht
86771ec0f0
Prepare basic implementation of a sleep queue inside the keyboard driver
2014-01-29 22:16:10 +01:00
Baptiste Wicht
cc37f73ba4
Empty the list when it gets destroyed
2014-01-29 21:17:01 +01:00
Baptiste Wicht
ef5b61d199
Use a better way of setting the flags
2014-01-29 21:14:59 +01:00
Baptiste Wicht
d0567e166e
Implement a stack
2014-01-29 20:59:39 +01:00
Baptiste Wicht
86dc1b2e9a
Fix namespace
2014-01-29 20:43:05 +01:00
Baptiste Wicht
db94c0ae8c
Use a queue for the semaphore
2014-01-29 20:42:49 +01:00
Baptiste Wicht
9feb5c8ffb
Draft of keyboard driver
2014-01-29 19:28:24 +01:00
Baptiste Wicht
3dbeaf7480
Review process structures
2014-01-29 17:28:35 +01:00
Baptiste Wicht
51b7afef9e
Use std::list instead of std::vector
2014-01-29 14:43:24 +01:00
Baptiste Wicht
1b40329be0
Implement a simple doubly linked list
2014-01-29 14:43:13 +01:00
Baptiste Wicht
68710baba1
Small fix
2014-01-29 14:28:46 +01:00
Baptiste Wicht
e20a4fb164
Cleanup TODOS
2014-01-28 22:28:36 +01:00
Baptiste Wicht
2d0413f0ca
Remove old TODO
2014-01-28 22:22:13 +01:00
Baptiste Wicht
03f68b57a9
Finalize code
2014-01-28 22:19:59 +01:00
Baptiste Wicht
96e4fc590c
Clean the code using a lock guard
2014-01-28 22:10:18 +01:00
Baptiste Wicht
e0ee4266b8
Basic implementation of semaphore
2014-01-28 22:06:27 +01:00
Baptiste Wicht
e66e92ae5b
Fix state switching
2014-01-28 21:15:05 +01:00
Baptiste Wicht
c16b3e39cf
Handle state of processes
2014-01-28 20:48:31 +01:00
Baptiste Wicht
4292c3dda4
Prepare spinlock implementation
2014-01-28 20:40:35 +01:00
Baptiste Wicht
9553df403e
Fix warning
2014-01-28 20:38:43 +01:00
Baptiste Wicht
71c1140291
Define more robust coalescing
...
Use left and right bit indicators to see if the block has a left, respectively a right block. Use these indicators in coalescing instead of checking for a range [min,max]
2014-01-28 08:41:38 +01:00
Baptiste Wicht
63cca5b4e6
Cleanup
2014-01-28 08:27:04 +01:00
Baptiste Wicht
3fb29dab1c
Merge branch 'develop' of github.com:wichtounet/thor-os into develop
...
Conflicts:
cpp.mk
2014-01-28 08:05:54 +01:00
Baptiste Wicht
96083e7559
Prepare new programs
2014-01-27 23:01:09 +01:00
Baptiste Wicht
bf52b10ac8
Allow to launch several programs in parallel
2014-01-27 23:01:02 +01:00
Baptiste Wicht
3f1d9d7390
Allow malloc to handle blocks of size > MIN_BLOCKS
2014-01-27 22:53:38 +01:00
Baptiste Wicht
5e69e9c8ff
Fix linking of user programs
2014-01-27 22:33:03 +01:00
Baptiste Wicht
e8daa72dc0
Save all regs
2014-01-27 22:30:42 +01:00
Baptiste Wicht
562119e450
Improve scheduling
2014-01-27 22:23:23 +01:00
Baptiste Wicht
83f5fc67da
Make proper scheduling
2014-01-27 22:06:02 +01:00
Baptiste Wicht
0a45d44291
Put the normal addresses back
2014-01-27 08:16:56 +01:00
Baptiste Wicht
79d483fa60
Fix the size of the executables
2014-01-27 08:16:47 +01:00
Baptiste Wicht
5f1113f6ef
Prepare for later
2014-01-26 23:09:42 +01:00
Baptiste Wicht
ebc034bb94
Cleanup and prepare for a better switching system
2014-01-26 23:02:58 +01:00
Baptiste Wicht
19d8fe5c17
Cleanup the inline assembly
2014-01-26 21:58:21 +01:00
Baptiste Wicht
93c8da4751
Save rip and rsp before context switching
2014-01-26 21:52:26 +01:00
Baptiste Wicht
ad522bfbfb
Propagate regs
2014-01-26 21:42:13 +01:00
Baptiste Wicht
ddf6cc8bf1
Fix
2014-01-26 21:37:24 +01:00
Baptiste Wicht
3374c08d55
Get reference to the values that are pushed on the stack by int
2014-01-26 21:36:33 +01:00
Baptiste Wicht
cff10164f3
Cleanup assembly
2014-01-26 21:26:40 +01:00
Baptiste Wicht
559ca93e8d
Unify the regs that are saved by the kernel
2014-01-26 21:22:53 +01:00
Baptiste Wicht
545ed86680
Cleanup
2014-01-26 21:07:48 +01:00
Baptiste Wicht
4a1a8f3ed8
Make exit noreturn
2014-01-26 20:30:30 +01:00
Baptiste Wicht
56fff39601
Review damn linker script again...
2014-01-26 20:28:52 +01:00
Baptiste Wicht
479303a8e0
Enable timed rescheduling (on second basis for now)
2014-01-26 20:06:27 +01:00
Baptiste Wicht
9b9d6bea2d
Allocate kernel user stacks in kernel memory space
2014-01-26 19:47:32 +01:00
Baptiste Wicht
5f88766c83
Move switching stuff to the scheduler
2014-01-26 19:27:38 +01:00
Baptiste Wicht
342d40c6f4
Implement basic scheduling
2014-01-26 17:42:04 +01:00