Skip to main content

Module process

Module process 

Source
Expand description

Process and Task Management

Implements the core structures for process management in Strat9-OS:

  • Task structure with state management
  • Process abstraction
  • Basic scheduler functionality

Re-exports§

pub use sched_classes as sched;
pub use scheduler::add_task;
pub use scheduler::block_current_task;
pub use scheduler::class_table as scheduler_class_table;
pub use scheduler::clear_task_wake_deadline;
pub use scheduler::configure_class_table;
pub use scheduler::cpu_usage_snapshot;
pub use scheduler::create_session;
pub use scheduler::current_pgid;
pub use scheduler::current_pid;
pub use scheduler::current_sid;
pub use scheduler::current_task_clone;
pub use scheduler::current_task_id;
pub use scheduler::current_tid;
pub use scheduler::get_all_tasks;
pub use scheduler::get_parent_id;
pub use scheduler::get_parent_pid;
pub use scheduler::get_pgid_by_pid;
pub use scheduler::get_sid_by_pid;
pub use scheduler::get_task_by_id;
pub use scheduler::get_task_by_pid;
pub use scheduler::get_task_id_by_pid;
pub use scheduler::get_task_id_by_tid;
pub use scheduler::get_task_ids_in_pgid;
pub use scheduler::init_scheduler;
pub use scheduler::kill_task;
pub use scheduler::log_state as log_scheduler_state;
pub use scheduler::note_try_lock_fail;
pub use scheduler::reset_scheduler_metrics;
pub use scheduler::resume_task;
pub use scheduler::schedule;
pub use scheduler::schedule_on_cpu;
pub use scheduler::scheduler_metrics_snapshot;
pub use scheduler::set_process_group;
pub use scheduler::set_task_sched_policy;
pub use scheduler::set_task_wake_deadline;
pub use scheduler::set_verbose as set_scheduler_verbose;
pub use scheduler::state_snapshot as scheduler_state_snapshot;
pub use scheduler::suspend_task;
pub use scheduler::try_wait_child;
pub use scheduler::verbose_enabled as scheduler_verbose_enabled;
pub use scheduler::wake_task;
pub use scheduler::yield_task;
pub use scheduler::CpuUsageSnapshot;
pub use scheduler::SchedulerMetricsSnapshot;
pub use scheduler::SchedulerStateSnapshot;
pub use scheduler::WaitChildResult;
pub use signal::has_pending_signals;
pub use signal::send_signal;
pub use signal::Signal;
pub use signal::SignalSet;
pub use task::Pid;
pub use task::Task;
pub use task::TaskId;
pub use task::TaskPriority;
pub use task::TaskState;
pub use task::Tid;

Modules§

elf
ELF64 loader for Strat9-OS.
process
sched_classes
Scheduling Policies and Classes
scheduler
Scheduler implementation
signal
Signal handling for Strat9-OS.
task
Task Management
test
Test module for the scheduler
timer
Interval timer support (ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF)
usertest
Minimal Ring 3 test task for Strat9-OS.