Source string Read only

(itstool) path: sect3/para
Context English State
<trademark class="registered">Linux</trademark> is a <trademark class="registered">UNIX</trademark>-like kernel originally developed by Linus Torvalds, and now being contributed to by a massive crowd of programmers all around the world. From its mere beginnings to today, with wide support from companies such as IBM or Google, <trademark class="registered">Linux</trademark> is being associated with its fast development pace, full hardware support and benevolent dictator model of organization.
<trademark class="registered">Linux</trademark> development started in 1991 as a hobbyist project at University of Helsinki in Finland. Since then it has obtained all the features of a modern <trademark class="registered">UNIX</trademark>-like OS: multiprocessing, multiuser support, virtual memory, networking, basically everything is there. There are also highly advanced features like virtualization etc.
As of 2006 <trademark class="registered">Linux</trademark> seems to be the most widely used open source operating system with support from independent software vendors like Oracle, RealNetworks, Adobe, etc. Most of the commercial software distributed for <trademark class="registered">Linux</trademark> can only be obtained in a binary form so recompilation for other operating systems is impossible.
Most of the <trademark class="registered">Linux</trademark> development happens in a <application>Git</application> version control system. <application>Git</application> is a distributed system so there is no central source of the <trademark class="registered">Linux</trademark> code, but some branches are considered prominent and official. The version number scheme implemented by <trademark class="registered">Linux</trademark> consists of four numbers A.B.C.D. Currently development happens in 2.6.C.D, where C represents major version, where new features are added or changed while D is a minor version for bugfixes only.
More information can be obtained from [3].
<trademark class="registered">Linux</trademark> follows the traditional <trademark class="registered">UNIX</trademark> scheme of dividing the run of a process in two halves: the kernel and user space. The kernel can be entered in two ways: via a trap or via a syscall. The return is handled only in one way. The further description applies to <trademark class="registered">Linux</trademark> 2.6 on the <trademark>i386</trademark> architecture. This information was taken from [2].
Syscalls in <trademark class="registered">Linux</trademark> are performed (in userspace) using <literal>syscallX</literal> macros where X substitutes a number representing the number of parameters of the given syscall. This macro translates to a code that loads <varname>%eax</varname> register with a number of the syscall and executes interrupt <literal>0x80</literal>. After this syscall return is called, which translates negative return values to positive <literal>errno</literal> values and sets <literal>res</literal> to <literal>-1</literal> in case of an error. Whenever the interrupt <literal>0x80</literal> is called the process enters the kernel in system call trap handler. This routine saves all registers on the stack and calls the selected syscall entry. Note that the <trademark class="registered">Linux</trademark> calling convention expects parameters to the syscall to be passed via registers as shown here:
parameter -&gt; <varname>%ebx</varname>
parameter -&gt; <varname>%ecx</varname>
parameter -&gt; <varname>%edx</varname>
parameter -&gt; <varname>%esi</varname>



New source string

FreeBSD Doc / articles_linux-emulationEnglish

New source string 3 months ago
Browse all component changes

Things to check

Long untranslated

The string was not translated for a long time



English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect3/para
No labels currently set.
Source string location
Source string age
3 months ago
Translation file
, string 76