Main Navigation
Configuration and Installation
The Technical Corner
- UML Conventions and more generaly typographical and graphical conventions
- What an operating system should be (in our sense)
- LSE/OS System Architecture
- LSE/OS Memory Management
- LSE/OS Security
- SMP: Symetric Multi-Processing on LSE/OS
- LSE/OS Bootstrap
- The LSE/OS Core Service
- LSE/OS libc
The Development Corner
Specifications for future work
Related websites
News
LIBC
This section describes the LSE/OS C library:
Thread Creation
thread_create() is a convenience routine for creating runnable threads. See Coresrv for task creation sequence diagram.
Loading of an exec
load_exec() is a convenience routine for loading binary (ELF) files into memory. threads. It requires to have an address space id. Several options are available for this function. Altough files are loaded through usual open(), read() and write() routines, it is possible to load files directly from the (in memory) bootfs. Here the (simplified) sequence diagram of the routine:

The next sequence diagram illustrates what happen when a file is loaded from a filesystem:

Things are more complex from here, since an ELF file is divided into sections that have to be remapped at some specific places, that have to be shared or not, etc (see ELF file format):
