François Autin
bec0143a40
Added missing current_thread assignment in test_lock_multiple
2023-05-04 23:44:10 +02:00
Quentin Legot
28cd0a9f6e
Try to fix double free
2023-05-04 22:58:13 +02:00
François Autin
1055e6a0ac
Fixed lock_release behaviour when multiple users of given lock
2023-04-20 15:34:49 +02:00
François Autin
c278236d81
Updated thread_manager module documentation
2023-04-20 15:21:28 +02:00
Rémi Rativel
597ffa753a
test lock for multiple threads
...
Signed-off-by: Rémi Rativel <remi.rativel@etudiant.univ-rennes1.fr>
2023-04-20 15:20:28 +02:00
François Autin
aba2fbc718
Updated lock_release to update lock in objaddr list
2023-04-20 14:50:44 +02:00
Rémi Rativel
c33df28307
Merging
...
Signed-off-by: Rémi Rativel <remi.rativel@etudiant.univ-rennes1.fr>
2023-04-20 14:43:15 +02:00
François Autin
bb1d2383bb
Simplified Rc<RefCell<Thread>>
2023-04-20 11:31:25 +02:00
François Autin
780ed4b461
📝 Added module documentation for thread_manager
2023-04-20 00:05:37 +02:00
François Autin
5c66577989
Cleanup of clippy warnings
2023-04-19 23:38:58 +02:00
François Autin
fe519555cc
Removed thread_to_be_destroyed field and associated methods
...
This used to exist in NachOS' source code as memory management is manual in C++.
Here, simply dropping the Thread from the thread list allows the borrow checker to
automatically destroy the thread.
2023-04-19 23:33:37 +02:00
François Autin
8b13cc6ef6
♻️ Clean-up of some nasty nesting in sem_v and sem_p
2023-04-19 23:24:51 +02:00
François Autin
5734e02b30
♻️ Refactored lock_acquire
2023-04-19 23:13:27 +02:00
François Autin
f55189f1fe
♻️ Refactored lock_release
2023-04-19 21:30:28 +02:00
François Autin
73ac8d3083
BurritOS now read configuration file
2023-04-19 18:09:08 +02:00
Rémi Rativel
32c1237c26
Tests lock
...
Signed-off-by: Rémi Rativel <remi.rativel@etudiant.univ-rennes1.fr>
2023-04-19 15:52:31 +02:00
Rémi Rativel
35b2949243
implemented lock_release in thread_manager.rs, for this, I derived the clone function for lock in synch.rs and list in list.rs
2023-04-18 12:13:56 +02:00
Rémi Rativel
ec2f50f7d3
implemented sc_lock_release
...
TODO : to implement lock_release in thread_manager
2023-04-13 14:45:57 +02:00
Quentin Legot
3244584da9
Add debug message and debug_assert
2023-04-13 02:10:09 +02:00
Quentin Legot
232617c32e
Add debug field to thread_manager and tried to fix sc_join (not worked :-( )
2023-04-13 02:05:21 +02:00
Samy Solhi
05f72af035
added lock acquire system call
2023-04-13 00:17:34 +02:00
Quentin Legot
35736821c0
lint: remove some warning
2023-04-12 15:32:46 +02:00
Quentin Legot
752b70e448
Remove old P and V semaphore function and moved tests
2023-04-12 15:22:22 +02:00
Quentin Legot
21f3a72a3d
Fix exceptions with semaphore
2023-04-12 14:49:08 +02:00
Quentin Legot
a36e470ea1
Add new thread exception (untested)
2023-04-11 17:47:36 +02:00
Quentin Legot
6c19f66d62
use setter instead of modifying the field itself
2023-04-06 13:48:37 +02:00
Quentin Legot
66d6daf0b9
Lint: remove some warnings
2023-04-06 13:46:59 +02:00
Quentin Legot
9cc57e7f03
Add launch argument parser, add debug parameter to machine
...
burritos now launch binary
2023-04-06 13:27:03 +02:00
François Autin
2f0b9e6592
Tests now point to the correct locations
2023-04-05 17:07:58 +02:00
Quentin Legot
01ac29160b
Fix test
2023-04-05 16:57:37 +02:00
Quentin Legot
b804117127
Fix loader test, only use one bin file in test_thread_context
2023-04-05 16:51:32 +02:00
Quentin Legot
8b3a3bebe7
Fix list::remove when trying to remove first element of the list (SIGSEGV)
2023-04-05 13:07:10 +02:00
Quentin Legot
24be35547e
Add Exit Exception
2023-04-05 12:01:31 +02:00
Quentin Legot
0fd2815a59
Improve test in thread_manager, increase memory size to make it fit
2023-04-04 22:01:49 +02:00
Quentin Legot
8c844c3e5c
Initialize sp value for each threads (temporary workaround)
2023-04-02 19:55:06 +02:00
Quentin Legot
8239079130
Add section flag support, loader now ready to run binary files
2023-04-01 00:14:09 +02:00
Quentin Legot
703c8e5448
Loader seem to work, be seem we have a problem with jalr
2023-03-28 21:26:58 +02:00
Quentin Legot
cfcdce750b
Change filename in thread_manager::test-thread_context
2023-03-28 19:47:42 +02:00
Quentin Legot
c9792d1a1a
Ignore uncomplete test
2023-03-27 22:24:46 +02:00
Quentin Legot
2f986da7ae
fix save_processor_state, move test to thread_manager
2023-03-27 22:20:29 +02:00
Quentin Legot
5963759141
Merge branch 'thread_scheduler' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into thread_scheduler
2023-03-22 18:31:05 +01:00
Quentin Legot
6d0477153b
First iteration (not complete) of a test in thread_manager
2023-03-22 18:30:31 +01:00
François Autin
1118f1fa0f
Added doc to thread manager
2023-03-22 17:17:53 +01:00
Quentin Legot
ca9f458a7e
Add test module to tm
2023-03-22 15:52:48 +01:00
Quentin Legot
b104bcc6da
Fix memory leak
2023-03-22 14:33:56 +01:00
Quentin Legot
b9c329219a
Added 2 tests to list.rs, improve semantic and using Default trait instant of function new
2023-03-21 22:40:49 +01:00
Quentin Legot
d3b2d0bac6
List is now a fifo list
2023-03-21 22:03:48 +01:00
Quentin Legot
977cb2bf96
kernel now build
...
I commented out semaphore code too cause it need to be updated
and having some error cause the compiler to not check for borrow errors
2023-03-16 14:52:53 +01:00
Quentin Legot
fa64d4314d
decrease some dependencies
2023-03-15 17:57:53 +01:00
Samy Solhi
6dd0cbcc87
Shadow the hedgehog
2023-03-15 16:51:57 +01:00