Changes

21 bytes added ,  21:57, 26 August 2019
→‎Kernel: IOS28 is the first non-monolithic version, according to IOS History
Line 26: Line 26:     
=== Kernel ===
 
=== Kernel ===
The kernel is the piece of code that is launched first; it consists of a small ELF-loader header followed by the ELF executable of the kernel proper. In addition to the core microkernel and the cryptography core, it contains the bare minimum set of processes/drivers necessary to load the rest of the modules from the NAND filesystem: FFS (Flash Filesystem), ES (E-Ticket Services), and IOSP (responsible for booting and managing the Broadway and its IPC interface). Older IOS versions were monolithic and contained all modules inside the single main ELF kernel. [[boot2]] is essentially a standalone IOS kernel with no additional modules or drivers, whose sole purpose is to launch the System Menu (and, as part of that process, load the IOS slot that it requires).
+
The kernel is the piece of code that is launched first; it consists of a small ELF-loader header followed by the ELF executable of the kernel proper. In addition to the core microkernel and the cryptography core, it contains the bare minimum set of processes/drivers necessary to load the rest of the modules from the NAND filesystem: FFS (Flash Filesystem), ES (E-Ticket Services), and IOSP (responsible for booting and managing the Broadway and its IPC interface). Older IOS versions (prior to [[IOS28]]) were monolithic and contained all modules inside the single main ELF kernel. [[boot2]] is essentially a standalone IOS kernel with no additional modules or drivers, whose sole purpose is to launch the System Menu (and, as part of that process, load the IOS slot that it requires).
    
The IOS kernel is able to handle up to 100 threads.
 
The IOS kernel is able to handle up to 100 threads.
303

edits