Moved PCB for each process to kernel heap

This commit is contained in:
2022-07-03 13:17:06 -05:00
parent e3026b2601
commit 5c7d002bbf
8 changed files with 144 additions and 104 deletions

View File

@@ -40,6 +40,12 @@ struct message_t
uint32_t param1, param2, param3;
};
struct address_space_t
{
physaddr_t top_table;
int counter;
};
struct process_t
{
size_t priority;
@@ -70,10 +76,14 @@ int active_process();
int add_process(void *program_entry, int priority, physaddr_t address_space);
struct process_context_t *next_process(struct process_context_t *prev_state);
struct process_context_t *next_process();
int terminate_process(size_t process_id);
int store_active_context(struct process_context_t *context, size_t size);
struct process_context_t *get_active_context();
/*
int accept_message(size_t process_id, struct message_t *message);

View File

@@ -1,9 +1,11 @@
#pragma once
struct process_context_t;
void *initialize_context(void *task_entry);
void destroy_context(void *ctx);
void save_context(struct process_context_t *context, void *ptr);
void save_context(struct process_context_t *context);
void load_context(struct process_context_t *context);