FreeNOS
Modules | Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
kernel

Kernel runs privileged code that schedules processes and performs virtual memory management. More...

Modules

 API (system call interface)
 Application Programming Interface (API) provided by the Kernel for user programs.
 
 API (kernel handlers)
 API handlers contain the kernel side implementation of the Application Programming Interface (API).
 
 ARM
 ARM architecture specific kernel code such as context switching and bootup code.
 
 Intel
 Intel architecture specific kernel code such as context switching and bootup code.
 

Data Structures

class  API
 Generic Kernel API implementation. More...
 
struct  InterruptHook
 Interrupt hook class. More...
 
class  Kernel
 FreeNOS kernel implementation. More...
 
class  Process
 Represents a process which may run on the host. More...
 
struct  ProcessEvent
 Represents a process which may run on the host. More...
 
class  ProcessManager
 Represents a process which may run on the host. More...
 
class  ProcessShares
 Manages memory shares for a Process. More...
 
class  Scheduler
 Responsible for deciding which Process may execute on the local Core. More...
 

Macros

#define MAX_PROCS   1024
 Maximum number of processes. More...
 

Typedefs

typedef void InterruptHandler(struct CPUState *state, ulong param, ulong vector)
 Function which is called when the CPU is interrupted. More...
 
typedef struct InterruptHook InterruptHook
 Interrupt hook class. More...
 
typedef struct ProcessEvent ProcessEvent
 Represents a process which may run on the host. More...
 

Enumerations

enum  ProcessEventType { InterruptEvent, ShareCreated, ProcessTerminated }
 

Functions

C void constructors ()
 Invokes all function pointers inside the .ctors section. More...
 
C void destructors ()
 Invokes function pointers inside the .dtors section. More...
 
C void __cxa_pure_virtual ()
 Unknown function, required by g++. More...
 

Variables

void(* CTOR_LIST )()
 Constructor list. More...
 
void(* DTOR_LIST )()
 Destructor list. More...
 

Detailed Description

Kernel runs privileged code that schedules processes and performs virtual memory management.

Macro Definition Documentation

◆ MAX_PROCS

#define MAX_PROCS   1024

Maximum number of processes.

Definition at line 39 of file ProcessManager.h.

Typedef Documentation

◆ InterruptHandler

typedef void InterruptHandler(struct CPUState *state, ulong param, ulong vector)

Function which is called when the CPU is interrupted.

Parameters
stateState of the CPU on the moment the interrupt occurred.
paramOptional first parameter for the handler.
vectorOptional IRQ vector value. Used by some architectures.

Definition at line 53 of file Kernel.h.

◆ InterruptHook

typedef struct InterruptHook InterruptHook

Interrupt hook class.

◆ ProcessEvent

typedef struct ProcessEvent ProcessEvent

Represents a process which may run on the host.

Enumeration Type Documentation

◆ ProcessEventType

Enumerator
InterruptEvent 
ShareCreated 
ProcessTerminated 

Definition at line 30 of file ProcessEvent.h.

Function Documentation

◆ __cxa_pure_virtual()

C void __cxa_pure_virtual ( )

Unknown function, required by g++.

Definition at line 73 of file Runtime.cpp.

◆ constructors()

C void constructors ( )

Invokes all function pointers inside the .ctors section.

Definition at line 22 of file Support.cpp.

References CTOR_LIST.

Referenced by kernel_main().

◆ destructors()

C void destructors ( )

Invokes function pointers inside the .dtors section.

Definition at line 30 of file Support.cpp.

References DTOR_LIST.

Variable Documentation

◆ CTOR_LIST

void(* CTOR_LIST) ()

Constructor list.

◆ DTOR_LIST

void(* DTOR_LIST) ()

Destructor list.