1 #ifndef MICROS_PROCESS_H 2 #define MICROS_PROCESS_H Process has called sleep function and is stopped for the specified amount of time.
Definition: micros_process.h:18
bool is_thread
Flag indicating if this is a process or a thread.
Definition: micros_process.h:49
uint32_t micros_process_start_thread(void *entry_point, void *param)
Creates new thread.
Definition: micros_process.c:58
void micros_process_finish_signal_handler(micros_signal_params *old_state)
Confirms the end of signal handler execution.
Definition: micros_process.c:48
Process is currently working.
Definition: micros_process.h:15
uint32_t eip
EIP (index pointer) register state.
Definition: micros_process.h:127
uint16_t opcode
FPU opcode.
Definition: micros_process.h:99
Structure containig data passed when the signal is executed (from the point where the last instructio...
Definition: micros_process.h:112
Process information retrieved from the kernel.
Definition: micros_process.h:28
uint32_t esp
ESP (stack pointer) register state.
Definition: micros_process.h:136
uint32_t control_word
FPU control word.
Definition: micros_process.h:84
micros_signal_fpu_state fpu_state
Saved FPU registers state.
Definition: micros_process.h:124
void micros_process_set_current_process_signal_handler(void(*signal_handler)(micros_signal_params *))
Sets function which will be called on the signal raise.
Definition: micros_process.c:43
uint32_t ecx
ECX register state.
Definition: micros_process.h:74
uint32_t operand_pointer_offset
FPU operand pointer offset.
Definition: micros_process.h:102
uint32_t operand_pointer_selector
FPU operand pointer selector.
Definition: micros_process.h:105
uint32_t eax
EAX register state.
Definition: micros_process.h:77
void micros_process_wait_for_process(uint32_t process_id_to_wait)
Stops process until the end of the another process.
Definition: micros_process.c:53
void micros_process_set_current_process_name(char *name)
Sets name of the current process.
Definition: micros_process.c:28
char name[32]
Process name (ended with 0)
Definition: micros_process.h:37
void signal_handler(micros_signal_params *old_state)
Definition: crt0.c:94
void micros_process_abort_thread()
Forces current thread to exit.
Definition: micros_process.c:71
uint32_t esi
ESI register state.
Definition: micros_process.h:59
void micros_process_get_current_process_info(micros_process_user_info *user_info)
Retrieves from the kernel information about the current process.
Definition: micros_process.c:13
micros_signal_registers_state registers
Saved registers state.
Definition: micros_process.h:121
Process waits for the end of the another process (like shell is waiting for the end of the child proc...
Definition: micros_process.h:24
uint32_t tag_word
FPU tag word.
Definition: micros_process.h:90
void micros_process_exit_process(int status)
Forces current process to exit.
Definition: micros_process.c:3
uint16_t instruction_pointer_selector
FPU instruction pointer selector.
Definition: micros_process.h:96
float cpu_usage
Current process CPU usage calculated by the kernel for the last second.
Definition: micros_process.h:43
uint32_t eflags
EFLAGS register state.
Definition: micros_process.h:133
uint32_t esp_unused
ESP (stack pointer) register state, contains invalid address so not really usable.
Definition: micros_process.h:65
void micros_process_get_all_processes_info(micros_process_user_info *user_info)
Retrieves from the kernel information about all processes.
Definition: micros_process.c:23
micros_process_status status
Current process status.
Definition: micros_process.h:40
uint32_t ss
SS (stack segment) register state.
Definition: micros_process.h:139
uint32_t status_word
FPU status word.
Definition: micros_process.h:87
uint32_t id
Process ID.
Definition: micros_process.h:31
micros_process_status
Process status retrieved from the kernel.
Definition: micros_process.h:9
uint32_t micros_process_get_processes_count()
Returns number of processes.
Definition: micros_process.c:8
uint32_t cr2
CR2 register state (contains address which caused page fault)
Definition: micros_process.h:118
uint32_t instruction_pointer_offset
FPU instruction pointer offset.
Definition: micros_process.h:93
uint32_t memory_usage
Current process memory usage calculated by the kernel.
Definition: micros_process.h:46
uint32_t edx
EDX register state.
Definition: micros_process.h:71
Process is ready to work and waits in queue.
Definition: micros_process.h:12
void micros_process_current_process_sleep(uint32_t milliseconds)
Stops process for the specified amount of time.
Definition: micros_process.c:33
uint32_t ebp
EBP (base pointer) register state.
Definition: micros_process.h:62
Process has called blocking keyboard function and waits for any pressed key.
Definition: micros_process.h:21
Process registers state.
Definition: micros_process.h:53
uint32_t parent_id
Parent process ID.
Definition: micros_process.h:34
uint32_t ebx
EBX register state.
Definition: micros_process.h:68
uint32_t cs
CS (code segment) register state.
Definition: micros_process.h:130
uint32_t edi
EDI register state.
Definition: micros_process.h:56
uint32_t interrupt_number
Number of the interrupt which caused the signal.
Definition: micros_process.h:115
uint32_t micros_process_start_process(char *path, char *arguments, bool child, bool active)
Creates new process.
Definition: micros_process.c:38
size_t uint32_t
Unsigned integral type.
Definition: string.h:8
Process FPU state.
Definition: micros_process.h:81
unsigned int registers[NUMREGS]
Definition: gdb_stub.c:127
bool micros_process_get_process_info(uint32_t id, micros_process_user_info *user_info)
Retrieves from the kernel information about the process with the specified id.
Definition: micros_process.c:18