Systèmes d'exploitation – quelques liens

Cette page n'a (vraiment!) pas la prétention d'être exhaustive, et liste un certain nombre de technologies associées aux systèmes d'exploitation. Si vous avez envie d'explorer, de comparer, d'essayer, de participer... Certains sont des projets, solides ou (parfois très) expérimentaux. D'autres sont des produits commerciaux.

Petit index

Parmi les dossiers généraux, vous trouverez des liens sur :

Dans cette section : AmigaOS, Apple ][

Famille AmigaOS

http://www.codetapper.com/amiga/

Le projet AROS vise à être compatible avec AmigaOS : http://aros.sourceforge.net/

AmigaOS4 :

L'histoire oubliée du Amiga 2000, relatée par Glen VanDenBiggelaar en 2014 : http://amigalounge.com/b266.html

Apple ][

En 2012, David Caldwell propose un émulateur de Apple ][ en HTML5 : http://porkrind.org/a2/

Dans cette section : BareMetal OS, Barrelfish, BeOS, BSD

Famille BareMetal OS

Système d'exploitation 64 bits écrit entièrement en langage d'assemblage.

Famille Barrelfish

Famille BeOS

Famille BSD

Ce système l'a échappé belle en 2014 : http://www.thedrinkingrecord.com/2014/01/19/romanian-billionaire-saves-openbsd/

BSD expliqué aux usagers Linux : http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4linux1.php

BSD et la sécurité : http://www.securityfocus.com/columnists/359/1

DesktopBSD : http://www.desktopbsd.net/

DragonFly BSD : http://www.dragonflybsd.org/

FreeBSD :

FreeSBIE : http://www.freesbie.org/

NetBSD :

OpenBSD :

PC-BSD :

VirtualBSD :

Dans cette section : CherryOS, Commodore 64, Contiki, COS, Cosmos, CoyotOS

Famille CherryOS

Hum... Pas cool... : http://www.drunkenblog.com/drunkenblog-archives/000501.html

Famille Commodore 64

Famille Contiki

Tout petit, destiné à des systèmes embarqués...

Famille COS

Le China Operating System.

Famille Cosmos

Un système entièrement développé en C#.

Famille CoyotOS

http://www.coyotos.org/

Dans cette section : DOS

Famille DOS

Introduction à DOS : http://burks.brighton.ac.uk/burks/pcinfo/osdocs/dosintro.htm

De la chicane : http://www.theregister.co.uk/2005/03/03/msdos_paternity_dispute/

Ligne de commande :

MS-DOS a eu trente ans en 2011 : http://www.extremetech.com/computing/91202-ms-dos-is-30-years-old-today

Comment exécutait-on un programme MS-DOS sur Windows 95? En tirant profit de la mémoire virtuelle, comme en témoigne Raymond Chen en 2016 :  https://blogs.msdn.microsoft.com/oldnewthing/20160328-00/?p=93204

Opinions :

FreeDOS :

Dans cette section : elementaryOS, ethos

Famille elementaryOS

Famille Ethos

Système d'exploitation visant à mettre de l'avant de nouvelles métaphores de sécurité.

Dans cette section : FlingOS, FreeDOS, FirefoxOS

FlingOS

Un système d'exploitation à vocation éducative.

Famille FreeDOS

Voir la section sur DOS

Famille FirefoxOS

Anciennement nommé Boot to Gecko, ce système d'exploitation est une adaptation de Linux mais pour laquelle l'affichage est pris en charge par le moteur de Firefox et dont les applications seront en HTML5.

Dans cette section : GNOME OS, GoodOS

Famille GNOME OS

Un projet qui prend forme en 2012 :

Famille GoodOS (gOS)

Dans cette section : Haiku, HP webOS, HURD

Famille HaikuOS

Famille HP webOS

Anciennement PalmOS

Famille HURD

Dans cette section : InterimOS, iPhone OS

Famille InterimOS

Un système d'exploitation minimaliste muni d'un noyau « orienté langages ».

Famille iPhone OS (iOS)

Dans cette section : JS/UIX

Famille JS/UIX

Un système d'exploitation à la ligne de commande qui vit dans un fureteur : http://www.masswerk.at/jsuix/

Dans cette section : KolibriOS

Famille KolibriOS

Système d'exploitation de petite taille, dérivé de MenuetOS.

Dans cette section : LibOS, Linux, LiteOS, LoseThos

LibOS

Un système d'exploitation Linux mais livré sous la forme d'une bibliothèque à lien partagé.

Famille Linux

Si vous ne trouvez pas ce que vous cherchez dans cette section, il est possible que vous le trouviez dans la section sur Unix.

Général :

Commandes (général) :

Commande Lien Remarque
cat http://www.in-ulm.de/~mascheck/various/uuoc/

chmod http://www.slideshare.net/cog/chmod-x-chmod

Récupérer du vilain chmod -x chmod (et pensez-y, c'est pas gentil du tout)

chroot http://kerneltrap.org/Linux/Abusing_chroot

chroot http://kerneltrap.org/mailarchive/linux-kernel/2007/9/19/263398

chroot http://labs.calyptix.com/openbsd-binary-patches-chroot.php

find http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/

find http://eriwen.com/productivity/find-is-a-beautiful-tool/

grep http://eriwen.com/tools/grep-is-a-beautiful-tool/

grep http://kukuruku.co/hub/nix/what-is-grep-and-how-do-we-use-it

Ce qu'est grep, et comment l'utiliser, un texte de 2014

grep http://john.freml.in/grep-orientated-programming

L'auteur de ce texte de 2015, John Fremin, recommande de programmer en fonction d'appliquer grep sur le code source

grep http://javarevisited.blogspot.ca/2011/06/10-examples-of-grep-command-in-unix-and.html

Dix exemples d'utilisation créative de grep, texte de 2011 par Javin Paul

grep https://medium.com/@rualthanzauva/grep-was-a-private-command-of-mine-for-quite-a-while-before-i-made-it-public-ken-thompson-a40e24a5ef48

Historique de cette commande, par Benjamin Rualthanzauva en 2014

kill http://www.noah.org/wiki/Kill_-9_does_not_work

Texte expliquant pourquoi il arrive que même kill -9 ne fonctionne pas

ksplice http://www.ibm.com/developerworks/aix/library/au-spunix_ksplice/index.html?ca=dgr-lnxw07Ksplicedth-AIX

Pour ajuster le noyau sans redémarrer

less http://garrett.damore.org/2014/09/modernizing-less.html

Moderniser less? Une proposition de Garrett Damore en 2014

ls http://www.lemis.com/grog/diary-oct2012.php?topics=c#D-20121012-233520

Modifier ls en fonction de ses besoins, par Greg Lehey en 2012

lsof http://www.catonmat.net/blog/unix-utilities-lsof/

 

rm http://lambdaops.com/rm-rf-remains

Que reste-t-il une fois rm -rf / exécuté, et que peut-on faire avec cela? Une expérimentation de Kyle Kelley en 2014

rm http://www.ee.ryerson.ca/~elf/hack/recovery.html

Autre cas vécu du genre, relaté par Mario Wolczko en 1986

strace http://blog.ksplice.com/2010/08/strace-the-sysadmins-microscope/

Pour suivre à la trace les appels systèmes

sudo http://www.linuxboxadmin.com/test/articles/tools-and-utilities/os-x-sudo-vs.-root-the-real-story.html

sudo http://polishlinux.org/first-steps/root-account/sudo-faq/

sudoedit http://www.wingtiplabs.com/blog/posts/2013/03/13/sudoedit/

tail http://www.brianstorti.com/stop-using-tail/

En 2015, Brian Storti recommande d'éviter tail -f (pas toujours, mais en général)

top http://blog.scoutapp.com/articles/2015/02/24/understanding-linuxs-cpu-stats

Comprendre l'affichage produit par cette commande

trace http://article.gmane.org/gmane.linux.kernel/1063399

Pour étudier le comportement des programmes

xargs http://bitops.io/blog/1336893229/xargs  
yes http://blog.michaeltang.me/yes-yes-no/  

Comment faire...

Culture :

Distributions et saveurs :

Économie :

Futur et évolution :

Histoire : ../Sujets/Orthogonal/Histoire.html#linux

Jeux :

Interactions avec Microsoft Windows :

Noyau : voir plus bas

Opinions et réflexions :

Outils divers :

Pilotes :

Sur les postes de travail :

Sécurité :

Standards :

Systèmes embarqués :

LiteOS

Un petit système d'exploitation visant le marché de l'Internet des objets (Internet of Things).

Famille LoseThos

Dans cette section : MacOS, MenuetOS, Microsoft Windows, Midori, MINIX, MonaOS, Multics

Famille MacOS

Historique :

Qu'est-ce que MacOS X?

Opinions et comparatifs :

Support et trucs :

Sécurité :

Discussion technique :

Le Mac et les métadonnées : http://arstechnica.com/apple/reviews/2001/08/metadata.ars

Quitter le monde Microsoft Windows pour le monde Mac :

Les saveurs de MacOSX portent des noms basés sur ceux de chats sauvages. À cet effet, un sourire : http://xkcd.com/1056/

À propos de Tiger :

À propos de Leopard :

À propos de Lion :

Le Mac Lab chez Microsoft : http://davidweiss.blogspot.com/2006/04/tour-of-microsofts-mac-lab.html

MenuetOS

Un système d'exploitation complètement rédigé en langage d'assemblage!

Famille Microsoft Windows

Architecture :

Philosophie de développement :

Regard vers le futur :

Histoire (regard vers le passé... voir aussi le chemin vers Vista de même que ../Sujets/Orthogonal/Histoire.html#mswindows) :

Débogage (plusieurs trucs chouettes) :

Outils :

Pilotes (Drivers) :

Version « nuage » (Windows Cloud) :

À propos de la sécurité, de manière générale :

Personnalisation :

Relation avec Linux :

Sur les océans : http://www.theregister.co.uk/2007/02/26/windows_boxes_at_sea/

Se connecter après expiration : http://tomorrowtimes.blogspot.com/2006/12/how-to-login-to-expired-windows.html

Se faire rembourser après s'être fait imposer une copie non sollicitée : http://www.linuxjournal.com/article/7040

Version client mince : http://www.brianmadden.com/blogs/brianmadden/archive/2005/04/18/microsoft-to-release-stripped-down-thin-client-os-version-of-windows.aspx

Version 64 bits : http://www.extremetech.com/article2/0,1697,1857522,00.asp

La question du monopole :

Opinions diverses :

Windows CE

Un système d'exploitation temps réel utilisé pour construire des systèmes embarqués.

Windows NT

En 2013, Windows NT a eu 20 ans.

Windows Vista (était Longhorn)

Général :

Chemin vers Vista :

Développement :

Opinions diverses (surtout, sans surprises, des critiques) :

Pédagogie et comparatifs :

Liens avec la compétition :

Exigences matérielles :

Sécurité (général) :

Problèmes de sécurité :

Problèmes divers :

Aspect visuel et technologies d'affichage :

La question du DRM :

Mise en marché :

Windows Server 2008

Windows 7

Windows 7 et les systèmes multi-coeurs :

Les péchés de Windows 7?

Développer pour Windows 7 :

Le noyau de Windows 7 :

Windows 8

Windows 8.1

Windows 9 Windows 10

Famille Midori

Un successeur annoncé de Microsoft Windows, basé sur les travaux de recherche du projet Singularity :

Famille MINIX

MonaOS

Petit système d'exploitation gratuit et à code ouvert.

Multics

Dans cette section : NachOS

NachOS

Système d'exploitation à vocation éducative.

Dans cette section : OOSMOS, Open webOS, OSx86, Os.js, OS/2

OOSMOS

L'Object Oriented State Machine Operating System, rien de moins.

Famille Open webOS

Famille OSx86

Famille Os.js

Un système d'exploitation (ou quelque chose qui s'en rapproche) en JavaScript.

Famille OS/2

Oui, j'ai déjà utilisé ça...

Assisterons-nous à un retour de ce système d'exploitation? http://searchdatacenter.techtarget.com/news/article/0,289142,sid80_gci1508584,00.html

La chose aurait eu 25 ans en 2012, et je me sens vieux... Un texte de Harry McCracken en 2012 : http://techland.time.com/2012/04/02/25-years-of-ibms-os2-the-birth-death-and-afterlife-of-a-legendary-operating-system/

Si vous avez des programmes conÉçus pour s'exécuter sur OS/2 et si vous souhaitez les utiliser, http://www.ecomstation.com/ peut vous dépanner.

Lw triomphe et la tragédie d'OS/2, relatés par Jeremy Riemer en 2013 : http://arstechnica.com/business/2013/11/half-an-operating-system-the-triumph-and-tragedy-of-os2/

Dans cette section : PalmOS, Parallax, PENIX, PhantomOS, Plan9

Famille PalmOS

Ce système est maintenant nommé HP webOS.

Famille Parallax

Système d'exploitation d'Intel, mettant l'accent sur la multiprogrammation et l'échelonnabilité.

Famille PENIX

Les liens sont morts, mais ça a existé (c'était plutôt comique)

Famille Phantom OS

Famille Plan 9

Programmer en C sous Plan 9 : http://ninetimes.cat-v.org/news/2008/11/22/1_New_Plan_9_programming_intro/

Le projet Plan 9 from User Space : http://swtch.com/plan9port/#

Dans Plan 9, toute ressource est un fichier. Dans ce texte de 2012, Edward Z. Yang souligne que dans ce contexte, monter un système de fichiers devient une forme d'injection de dépendance : http://blog.ezyang.com/2012/11/plan-9-mounts-and-dependency-injection/

Dans cette section : Qubes OS, QNX

Famille Qubes OS

Famille QNX

Dans cette section : ReactOS, Redox, RISC OS

Famille ReactOS

http://www.reactos.org/fr/index.html

Réécrire ReactOS? Les raisons :

Analyse statique des sources de ReactOS :

Famille Redox

Un système d'exploitation à la Unix, mais qui est (pour l'essentiel) écrit en Rust.

Famille RISC OS

Un système d'exploitation pour Raspberry Pi.

Dans cette section : Sailfish OS, seL4, Singularity, SkyOS, Solaris, Sortix, SteamOS, Syllable

Famille Sailfish OS

Projet basé sur Mer

Famille seL4

Famille Singularity

Un système d'exploitation développé dans un langage pris en charge (C#) et axé vers la sécurité.

Famille SkyOS

http://www.skyos.org/

Famille Solaris

Cycle de vie sous Solaris et OpenSolaris : http://www.sun.com/software/solaris/lifecycle.xml

À propos de la variante OpenSolaris :

Sortix

Système expérimental de type POSIX, proposé par Jonas 'Sortie' Termansen.

SteamOS

Un projet de Valve basé sur Linux

Famille Syllable

Dans cette section : Tails, TempleOS, TinyOS, Tostitos

Famille Tails

Système d'exploitation sans états (sauf si l'usager en fait le choix délibéré) et voué au respect de l'anonymat de ses usagers, utilisé typiquement à partir d'un support amovible tel qu'une clé USB. Aurait été utilisé par Edward Snowden, et régulièrement utilisé par des spécialistes de sécurité tels que Bruce Schneier.

TempleOS

TinyOS

Tostitos

Système d'exploitation à vocation pédagogique, adapté d'un autre système d'exploitation à vocation pédagogique nommé NachOS par Alex Boulanger.

Dans cette section : Unix, Urbit

Famille Unix

Vous serez sûrement intéressé(e) par la section sur Linux, du fait que c'est en périphérie de ce système que l'essentiel de l'innovation dans la famille Unix et ses dérivés se fait maintenant.

The Unix Historical Society : http://www.tuhs.org/

Unix pour débutant(e)s :

Pour l'histoire de Unix : ../Sujets/Orthogonal/Histoire.html#unix

Considérations philosophiques :

Utilitaires sous Unix, partie 1, partie 2, partie 3, partie 4

Commandes Unix trop peu connues, par Daniel Miessler en 2013 : http://www.danielmiessler.com/blog/collection-of-less-commonly-used-unix-commands

http://catb.org/~esr/nosecrets/

Des outils pour Unix qui sont particulièrement utiles pour des applications scientifiques, répertoriées par Greg Reda en 2013 : http://www.gregreda.com/2013/07/15/unix-commands-for-data-science/

Le style Unix :

Qu'est-ce qu'une « patch »? http://en.wikipedia.org/wiki/Patch_(Unix)

À propos de Mach : http://www3.interscience.wiley.com:8100/legacy/college/silberschatz/0471694665/appendices/appb.pdf

Comment haïr Unix : un guide... http://simson.net/ref/ugh.pdf

Trucs comparés à Unix ou appréciés parce qu'ils « sont » Unix : http://jacobian.org/writing/star-is-unix/

Saines pratiques de vie avec Unix : http://www.ibm.com/developerworks/aix/library/au-badunixhabits.html?ca=lnxw01GoodUnixHabits

Un petit sourire : http://www.gnu.org/fun/jokes/unix.errors.html?

Technique :

http://factor-language.blogspot.com/2010/09/two-things-every-unix-developer-should.html

Unix en tant que littérature : http://theody.net/elements.html

La série Ghosts of Unix Past, qui réfléchit sur certains choix de design historiques de cette famille de systèmes d'exploitation :

Critiques :

Comment arrêter correctement un processus « gelé » sous Unix, par Hongli Lai en 2012 : http://blog.phusion.nl/2012/09/21/the-right-way-to-deal-with-frozen-processes-on-unix/

En 2012, Seth Brown explique comment Unix l'aide dans son travail : http://www.drbunsen.org/explorations-in-unix.html

Programmation système sous Unix à l'aide d'OCaml, un livre en ligne par Xavier Leroy et Didier Rémy, en 2014 : https://ocaml.github.io/ocamlunix/

Déployer Unix sur un Game Boy Advance, par Amit Singh en 2004 : http://www.kernelthread.com/publications/gbaunix/

Comprendre l'évaluation de la charge d'un système d'exploitation Unix, texte de Chris Siebenmann en 2016 : https://utcc.utoronto.ca/~cks/space/blog/unix/ManyLoadAveragesOfUnix

Famille Urbit

Est-ce un système d'exploitation, une machine virtuelle, une fonction ou autre chose?

Dans cette section : VAX

Famille VAX

Oui, j'ai utilisé ça... http://www.computerworld.com/hardwaretopics/hardware/server/story/0,10801,94314,00.html

Dans cette section : XENIX

Famille XENIX

À propos de la mort de XENIX, par Evan Leibovitch en 1997 : http://www.linuxjournal.com/article/2062

Histoire de XENIX, relatée par Robert Ferguson en 2014 : http://seefigure1.com/2014/04/15/xenixtime.html

Autres

Quelques généralités...

Idées novatrices :

Quelle sera la plateforme du futur, en cette ère de téléphones, de tablettes et d'infonuagique? Une réflexion d'Evan Martin en 2011 : http://neugierig.org/software/blog/2011/09/platform-of-the-future.html

En 2012, Gus Kaksis rédige un journal de sa propre expérience dans la rédaction d'un système d'exploitation maison : http://gusc.lv/2012/11/im-writing-my-own-os/

Devrait-il exister une frontière entre langage de programmation et système d'exploitation? Réflexion de Eugene Wallingford en 2014 : http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2013-03.html#e2013-03-27T12_46_03.htm

Une rétrospective de la recherche des dernières décennies portant sur les système d'exploitation, mise à jour en 2015 : http://vyodaiken.com/2008/10/07/operating-system-research-14-years-perspective/

Programmer de manière à gagner une forme d'indépendance quant au système d'exploitation, par Mike Hogg en 2015 : http://blog.zuehlke.com/en/operating-system-independence/

Les gestionnaires de démarrage (ou Boot Loaders)

Comparer LILO et GRUB : http://www.ibm.com/developerworks/library/l-bootload.html?ca=dgr-lnxw01LILOandGRUB

Pousser GRUB très loin : http://www.justlinux.com/forum/showthread.php?threadid=143973

Comment démarre un système GNU/ Linux? http://unixbhaskar.blogspot.com/2010/03/insight-into-gnulinux-boot-process.html

Écrire votre propre gestionnaire de démarrage :

Consoles de jeu vidéo

Installer Linux sur 

Utiliser une XBox :

Stationnement à Montréal :

Gestion de la mémoire

Noyaux

Le noyau d'un système d'exploitation en offre les fonctionnalités clés. Selon les philosophie adoptée, il peut être vaste et offrir une gamme très riche de services, ou être très petit et se limiter à une couche minimaliste. Dans les systèmes en temps réel, le noyau sera typiquement de très faible priorité, de manière à ne pas interférer avec les tâches en temps réel, alors que dans un système d'exploitation plus conventionnel, le noyau sera plus interventionniste.

Généralités :

Comparatifs

Programmation dans le noyau

Sécurité dans le noyau

Propre à Linux

Micronoyaux

Il existe des micronoyaux : http://en.wikipedia.org/wiki/Microkernel

Micronoyaux ou non?

Micronoyaux L4 :

Uninoyaux

Les uninoyaux, sortes de systèmes d'exploitation sous forme de bibliothèques :

Ordonnanceurs

Thématiques conceptuelles :

Le Completely Fair Scheduler :

Le Really Fair Scheduler :

Le Brain Fuck Scheduler, de Con Kolivas, orienté vers Linux sur les postes de travail conventionnels :

Systèmes embarqués

Présentation de Philip Koopman en 2011, portant sur les écueils à éviter dans le développement sur système embarqué : https://users.ece.cmu.edu/~koopman/pubs/koopman11_escsv_handouts.pdf

Des voitures qui évitent les collisions :

Le projet Origami de Microsoft :

Java pour systèmes embarqués :

Le système Contiki :

Les « vrais hommes » programment en C? http://www.embedded.com/columns/barrcode/218600142?printable=true (et une réplique : http://embedded.com/design/219401085?printable=true)

Un Space Invaders vite fait pour plateforme embarquée, par Mike Hall en 2007 : http://blogs.msdn.com/b/mikehall/archive/2007/09/19/micro-framework-invaders.aspx

Des systèmes destinés à l'exploration spatiale; une entrevue avec Robert Rose en 2013 : http://lwn.net/Articles/540368/

À propos des systèmes 64 bits

Sur ce sujet, voir aussi ces quelques liens.

Historique :

Concepts :

Développement :

Migrer son code vers un système 64 bits, selon Danny Kalev en 2007 : http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=356

Optimisation (plusieurs liens) : Optimisation--Liens.html#optimisations-64-bits

Tests :

Systèmes d'exploitation Web (WebOS)

C'est (très!) intéressant mais, au moment d'écrire ces lignes, c'est pas tout à fait prêt pour le vrai monde...

Virtualisation

Sujet à la mode s'il en est un!

Généralités :

Idées et opinions :

Marché :

Le Linux virtuel :

KVM :

FreeBSD Jails :

Chez Microsoft :

Chez Sun :

Sécurité :

Tests :

Produits et plateformes

Hyper-V :

Lguest :

Microsoft Virtual Server :

OpenVZ :

Parallels :

VirtualBox :

VMWare :

Wine :

Xen :

Conteneurs

Rendus populaires entre autres par Docker, les conteneurs sont des programmes qui jouent le rôle d'une machine virtuelle pour fins de déploiement d'applications.


Valid XHTML 1.0 Transitional

CSS Valide !