TacOS
0.2
|
#include <clock.h>
#include <context.h>
#include <cpu.h>
#include <debug.h>
#include <events.h>
#include <gdt.h>
#include <i8259.h>
#include <interrupts.h>
#include <ioports.h>
#include <klibc/string.h>
#include <klog.h>
#include <kmalloc.h>
#include <kprocess.h>
#include <ksignal.h>
#include <pagination.h>
#include <scheduler.h>
#include <types.h>
#include <vmm.h>
Macros | |
#define | USER_PROCESS 0 |
#define | KERNEL_PROCESS 1 |
Fonctions | |
void | idle () |
void | set_scheduler (scheduler_descriptor_t *sched) |
int | is_schedulable (process_t *process) |
void * | schedule (void *data) |
void | init_scheduler (int Q) |
Initialisation du scheduler Initialise les données du scheduler pour qu'il puisse être lancé correctement. Plus de détails... | |
void | stop_scheduler () |
Arret du scheduler Arrète le scheduler en retirant le prochain schedule de la liste des évenements. | |
void | start_scheduler () |
Mise en route du scheduler Met en route le scheduler en ajoutant la fonction schedule en évenement au temps Q (quantum) | |
int | scheduler_add_process (process_t *proc) |
int | scheduler_delete_process (int pid) |
process_t * | get_current_process () |
Retourne le processus en cours d'utilisation. Plus de détails... | |
SYSCALL_HANDLER1 (sys_sleep, uint32_t delay) | |
Handler de l'appel système sleep. Plus de détails... | |
Copyright (C) 2010-2014 TacOS developers.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.
Description de ce que fait le fichier
process_t* get_current_process | ( | ) |
void init_scheduler | ( | int | Q | ) |
Q | Quantum du scheduler |
int is_schedulable | ( | process_t * | process | ) |
Retourne si le process donné en argument est ordonnançable. C'est à dire s'il peut s'exécuter (pas bloqué ni terminé).
process | Le processus à tester. |
SYSCALL_HANDLER1 | ( | sys_sleep | , |
uint32_t | delay | ||
) |
Endors un processus, et crée un évenement pour le réveiller
delay | La durée du sleep. |