Unix Philosophy: Do one thing and do it well.
Probably the most important and defining feature of Unix. A text file is of course a file, but a directory is also a file, and a hard drive is a file, a mouse is a file, a socket is a file ...
This is super helpful for learners because everything you encounter would be a file and can be examined by commands like
You will not find a modern OS named Unix, but many widely used OSes are derived from the original Unix. The largest 2 branches are BSD (including macOS) and Linux (including Android, ChromeOS).
Read more on Linux page.
Read more on Linux vs BSD
- Darwin is an open-source Unix-like operating system, derived from BSD. Apple's operating systems - macOS, iOS, watchOS, tvOS, iPadOS and bridgeOS are based on Darwin. Kernel: XNU.
- DragonFlyBSD: forked from FreeBSD 4.8 due to the worries that the techniques adopted for threading and symmetric multiprocessing in FreeBSD 5 would lead to poor performance and maintenance problems. DragonFly has diverged significantly from FreeBSD, implementing lightweight kernel threads (LWKT), an in-kernel message passing system, and the HAMMER file system.
- OpenBSD: Forked from NetBSD with an emphasis on security
- the underlying operating system for the ME (Intel Management Engine), which means if you have an Intel chipset in your computer, then you are running MINIX. (In addition to your main OS).
- BSD-licensed, which means Intel can make changes to MINIX and not have to disclose those changes.
- the world’s most privileged operating system: running on
Ring -3(negative 3). The kernel runs on
Ring 0and user applications on
Ring 3(positive 3). You have zero access to
Ring -3. MINIX has total and complete access to the entirety of your computer.
- inspire the creation of Linux.
/in file path, while Windows uses
there's only one root directory
/, so you cannot find
D:\; however other filesystems can be mounted
$ mount # lists all mounts ... C:\ on /mnt/c type drvfs D:\ on /mnt/d type drvfs
Unix (or more precisely, the file systems like
ext4) is case sensitive,
A.txtare two different files.
chroot: changes the root file system directory as seen by a job, so that one program cannot access files outside of its directory tree. (for isolation)
chroot is both a system call and a wrapper program.