Difference between revisions 631392004 and 633360303 on enwiki

{{multiple issues|
{{original research|date=March 2013}}
{{notability|date=March 2013}}
{{cite check|date=March 2013}}
{{unreliable sources|date=March 2013}}
}}
{{Infobox OS
|name                   = 9front
(contracted; show full)e while adding new drivers, features and bugfixes.<ref name="features" /> As with stock Plan 9, 9front is a [[free software]] [[distributed operating system]] that achieves resource generalization by using the [[9P]] protocol to present a consistent interface for accessing local and remote resources as files. It also features private [[namespace]]s,<ref name="namespaces" /> [[union mount]]s, [[procfs|proc]] file system, and native [[unicode]] support throughout the system.


=== Details ===
9front uses the [[a.out]] [[object file]] format<ref>{{cite web|title=A.OUT(6)|url=http://man.cat-v.org/9front/6/a.out|website=9front Manual page archive|publisher=cat-v.org|accessdate=28 September 2014}}</ref> and does not support [[dynamic linking]], like Plan 9, which considering dynamic linking harmful. Plan 9 uses a nonstandard [[x86 calling conventions|x86 calling convention]], in which the caller saves, parameters are pushed onto the stack, and return values are placed in EAX, except for 64bit values and structs, which are written to a pointer that is passed as the first value. It is unknown whether it uses the [[X86_calling_conventions#System_V_AMD64_ABI|System V ADM64 ABI]] for [[x86-64]] like other platforms.

Like Plan 9, 9front does not have symbolic links. Although it has a full-featured kernel, 9front has less than 40 [[system call]]s.<ref name=plan9-syscalls>{{cite web|title=Plan 9 System Calls|url=http://aiju.de/misc/plan9-syscalls|website=aiju.de|accessdate=28 September 2014}}</ref>  Like all of the various file systems of its predecessor ([[Unix]]), Plan 9 uses a [[case sensitive]] filesystem, “[[Fossil (file system)|Fossil]]”. 9front has [[Disk encryption#full disk encryption|full disk encryption]], although booting an encrypted partition must be manually configured.

Plan 9 takes a novel approach to [[Thread (computing)|threading]]: Plan 9 does not have [[POSIX Threads]], or any form of [[Thread (computing)#1:1 (Kernel-level threading)|kernel-level threading]]. In other words, there are only processes from the kernel's perspective. The libthread library supports cooperative threads, which are not preempted. When a thread calls a blocking syscall, the entire process is blocked. To get around blocking I/O, Plan 9 uses "ioproc" routines, which provide access to I/O in slave processes.

In addition to the graphics/keyboard/mouse mixer rio, 9front also has an audio mixer.

== History ==
Work on the [[fork (software development)|fork]] began in March 2011.<ref name="began" /> The project was announced under the name "Plan 9 from The People's Front of Cat-v.org",<ref name="nt-init" /> though subsequently it was referred to by the name "9front".<ref name="osnews-init" />

== Development ==
(contracted; show full)*[https://wiki.archlinux.org/index.php/9vx 9vx on ArchWiki]

[[Category:2011 software]]
[[Category:Computing platforms]]
[[Category:Embedded operating systems]]
[[Category:Plan 9 from Bell Labs]]
[[Category:Real-time operating systems]]
[[Category:Software forks]]