
Estudio Tecnologia de la Informació a la Universitat de Tampere. En el meu temps lliure, contribueixo a projectes de programari lliure i de codi obert com EriX Project, AES, Cutie Shell Project i Droidian GNU/Linux. També m’interessen les llengües naturals i aprendre-les.
Pots trobar-me a GitHub, git.erikinkinen.fi i LinkedIn.
Del firmware al kernel: el procés d’arrencada explicat
Tot sistema operatiu comença abans de ser realment ell mateix. La CPU arrenca en un entorn definit per la plataforma, el firmware inicialitza prou maquinari per carregar el primer executable, i aquest executable prepara la màquina per al kernel. Només després que aquesta cadena hagi fet la seva feina pot el sistema operatiu començar a imposar les seves pròpies regles.
És fàcil tractar aquest camí inicial com a simple fontaneria, però el procés d’arrencada forma part del model de seguretat.
Per què Rust per al desenvolupament de kernels
Els sistemes operatius se solen associar amb C.
Aquesta associació és comprensible. C és petit, previsible, proper a la màquina i històricament dominant en el treball de kernel. Dona al programador accés directe a memòria, registres, layout i convencions de crida.
Això és exactament el que necessita un kernel.
També és exactament el que fa que els kernels siguin difícils d’assegurar.
EriX està escrit principalment en Rust perquè el projecte es construeix al voltant d’una idea central:
La base de còmput de confiança: per què importa la mida
Les discussions de seguretat sovint se centren en errors individuals:
un desbordament de buffer un problema de diputat confús un parser sense comprovacions suficients una ruta d’escalada de privilegis Aquests errors importen, però són símptomes d’una pregunta més profunda:
Quant codi ha de ser correcte perquè el sistema continuï sent segur?
Aquest codi és la base de còmput de confiança, normalment abreujada com a TCB.
La mida i la forma de la TCB determinen quant codi cal confiar, auditar, provar i raonar.
Microkernels contra kernels monolítics: compromisos revisitats
Pocs debats de disseny de sistemes operatius han durat tant com el debat entre microkernels i kernels monolítics.
A primer cop d’ull, la diferència sembla senzilla:
els kernels monolítics mantenen la majoria dels serveis del sistema operatiu dins del kernel els microkernels mouen la majoria dels serveis a l’espai d’usuari A la pràctica, el compromís és més subtil.
La pregunta real no és si una estructura és universalment més ràpida, més neta o més segura.
Dissenyar un sistema operatiu de sala neta
La majoria de sistemes operatius moderns es construeixen sobre dècades de codi acumulat, biblioteques i dependències externes. Tot i que aquest ecosistema permet un desenvolupament ràpid, també introdueix complexitat, supòsits ocults i riscos de seguretat potencialment no examinats.
EriX adopta un enfocament diferent.
Es desenvolupa com un sistema operatiu de sala neta, cosa que significa que cada component - des del carregador d’arrencada fins als serveis d’espai d’usuari - s’implementa dins del mateix projecte, sense incorporar codi font extern ni biblioteques de tercers.
Què és un sistema operatiu basat en capacitats
Els sistemes operatius moderns imposen límits de seguretat entre processos, fitxers, dispositius i usuaris. Tanmateix, la manera com s’implementen aquests límits varia significativament segons el disseny del sistema.
La majoria de sistemes operatius convencionals depenen del control d’accés basat en identitat i dels espais de noms globals. Els sistemes operatius basats en capacitats adopten un enfocament fonamentalment diferent: representen l’autoritat de manera explícita i en fan un concepte de primer ordre.
Per què estic construint un micronucli basat en capacitats des de zero
Els sistemes operatius són entre les peces de programari més complexes que s’han construït mai. Gestionen la memòria, planifiquen el càlcul, controlen el maquinari i imposen els límits de seguretat que protegeixen cada aplicació que s’executa en una màquina.
Tot i això, molts dels sistemes operatius dels quals depenem avui es basen en idees arquitectòniques de fa diverses dècades. Encara que aquests sistemes són extraordinàriament potents i provats, també arrosseguen dècades de complexitat acumulada.