0 - en to ar-MA translation catalogue (129 entries)

en: BIOS
ar-MA: بيوس

en: Kernel
ar-MA: نواة

en: Unix
ar-MA: يونكس

en: Process
ar-MA: عملية

en: Hierarchy
ar-MA: بنية شجرية

en: Basic Commands
ar-MA: الأوامر الأساسية

en: Short Remedial Course
ar-MA: دورة تذكيرية قصيرة

en: Even though this book primarily targets administrators and “power-users”, we wouldn't like to exclude motivated beginners. This appendix will therefore be a crash-course describing the fundamental concepts involved in handling a Unix computer.
ar-MA: بالرغم من أن هذا الكتاب يستهدف مديري النظم و ”المستخدمين المتقدمين“، إلا أننا لم نرغب باستبعاد المبتدئين المتحفزين. وبالتالي فإن هذا الملحق بمثابة حلقة دراسية مكثفة تصف المفاهيم الأساسية المرتبطة بالتحكم في حواسيب يونـِكس.

en: Shell and Basic Commands
ar-MA: الصَدَفة (shell) والأوامر الأساسية

en: In the Unix world, every administrator has to use the command line sooner or later; for example, when the system fails to start properly and only provides a command-line rescue mode. Being able to handle such an interface, therefore, is a basic survival skill for these circumstances.
ar-MA: في عالم يونِكس، يضطر كل مدير نظم إلى استخدام سطر الأوامر عاجلاً أو آجلاً؛ مثلاً، عندما يخفق النظام في الإقلاع بشكل صحيح ويكون وضع الإنقاذ النصي متوفرًا فقط. وبالتالي، فإن القدرة على التحكم بمثل هذه الواجهة هي مهارة إنقاذ أساسية في مثل هذه الحالات.

en: <emphasis>QUICK LOOK</emphasis> Starting the command interpreter
ar-MA: <emphasis>نظرة سريعة</emphasis> بدء مُفسِّر الأوامر

en: This section only gives a quick peek at the commands. They all have many options not described here, so please refer to the abundant documentation in their respective manual pages.
ar-MA: يلقي هذا القسم نظرة سريعة على الأوامر فقط. كل هذه الأوامر لها العديد من الخيارات التي لم نذكرها هنا، لذلك نرجو أن تتطلع على الوثائق الوافرة في صفحات الدليل (manual pages) الخاصة بها.

en: Browsing the Directory Tree and Managing Files
ar-MA: استعراض شجرة المجلدات وإدارة الملفات

en: Once a session is open, the <command>pwd</command> command (which stands for <emphasis>print working directory</emphasis>) displays the current location in the filesystem. The current directory is changed with the <command>cd <replaceable>directory</replaceable></command> command (<command>cd</command> is for <emphasis>change directory</emphasis>). The parent directory is always called <literal>..</literal> (two dots), whereas the current directory is also known as <literal>.</literal> (one dot). The <command>ls</command> command allows <emphasis>listing</emphasis> the contents of a directory. If no parameters are given, it operates on the current directory.
ar-MA: بمجرد فتح جلسة جديدة، يعرض الأمر <command>pwd</command> (اختصاراً للعبارة <emphasis>print working directory</emphasis> أو طباعة مجلد العمل) الموقع الحالي في نظام الملفات. يتم تغيير المجلد الحالي باستخدام الأمر <command>cd <replaceable>directory</replaceable></command> (الأمر <command>cd</command> يعني <emphasis>change directory</emphasis> أي تغيير المجلد). يرمز للمجلد الأب بنقطتين دائماً ( <literal>..</literal> )، في حين يرمز للمجلد الحالي بنقطة واحدة ( <literal>.</literal> ). يسمح الأمر <command>ls</command> بسرد (<emphasis>listing</emphasis>) محتويات المجلد. إذا لم يُعطَى أية متغيرات، فسيَعرضُ محتويات المجلد الحالي.

en: A new directory can be created with <command>mkdir <replaceable>directory</replaceable></command>, and an existing (empty) directory can be removed with <command>rmdir <replaceable>directory</replaceable></command>. The <command>mv</command> command allows <emphasis>moving</emphasis> and/or renaming files and directories; <emphasis>removing</emphasis> a file is achieved with <command>rm <replaceable>file</replaceable></command>.
ar-MA: يمكن إنشاء مجلد جديد باستخدام الأمر <command>mkdir <replaceable>directory</replaceable></command>، ويمكن إزالة مجلد (فارغ) موجود سابقًا بالأمر <command>rmdir <replaceable>directory</replaceable></command>. يسمح الأمر <command>mv</command> بنقل <emphasis>move</emphasis> و/أو إعادة تسمية الملفات والمجلدات؛ ولإزالة الملفات <emphasis>remove</emphasis> استخدم الأمر <command>rm <replaceable>file</replaceable></command>.

en: Displaying and Modifying Text Files
ar-MA: استعراض وتعديل الملفات النصية

en: The <command>cat <replaceable>file</replaceable></command> command (intended to <emphasis>concatenate</emphasis> files to the standard output device) reads a file and displays its contents on the terminal. If the file is too big to fit on a screen, use a pager such as <command>less</command> (or <command>more</command>) to display it page by page.
ar-MA: يقرأ الأمر <command>cat <replaceable>file</replaceable></command> (يعني <emphasis>concatenate</emphasis> ملف إلى جهاز الإخراج القياسي أي ربطه معه) ملفاً ويعرض محتوياته على الطرفية. إذا كان الملف أكبر من أن يتسع في الشاشة، استعمل أمرَ تصفّحٍ مثل <command>less</command> (أو <command>more</command>) لعرضه صفحة بعد أخرى.

en: The <command>editor</command> command starts a text editor (such as <command>vi</command> or <command>nano</command>) and allows creating, modifying and reading text files. The simplest files can sometimes be created directly from the command interpreter thanks to redirection: <command>echo "<replaceable>text</replaceable>" &gt;<replaceable>file</replaceable></command> creates a file named <replaceable>file</replaceable> with “<replaceable>text</replaceable>” as its contents. Adding a line at the end of this file is possible too, with a command such as <command>echo "<replaceable>moretext</replaceable>" &gt;&gt;<replaceable>file</replaceable></command>. Note the <literal>&gt;&gt;</literal> in this example.
ar-MA: يشغل الأمر <command>editor</command> محرر نصوص (مثل <command>vi</command> أو <command>nano</command>) ويسمح بإنشاء، وتعديل وقراءة الملفات النصية. يمكن إنشاء الملفات البسيطة أحيانًا من مفسِّر الأوامر مباشرة بفضل خاصية إعادة التوجيه: ينشئ الأمر <command>echo "<replaceable>text</replaceable>" &gt;<replaceable>file</replaceable></command> ملفاً باسم <replaceable>file</replaceable> يحتوي على ”<replaceable>text</replaceable>“. من الممكن إضافة سطر إلى آخر هذا الملف أيضًا، باستخدام الأمر <command>echo "<replaceable>moretext</replaceable>" &gt;&gt;<replaceable>file</replaceable></command>. لاحظ استخدام <literal>&gt;&gt;</literal> في هذا المثال.

en: Searching for Files and within Files
ar-MA: البحث عن الملفات، والبحث ضمن الملفات

en: The <command>find <replaceable>directory</replaceable> <replaceable>criteria</replaceable></command> command looks for files in the hierarchy under <replaceable>directory</replaceable> according to several criteria. The most commonly used criterion is <literal>-name <replaceable>name</replaceable></literal>: that allows looking for a file by its name.
ar-MA: يبحث الأمر <command>find <replaceable>directory</replaceable> <replaceable>criteria</replaceable></command> عن ملفات تحت المجلد <replaceable>directory</replaceable> وفقاً لعدة معايير. المعيار الأكثر استخداماً هو <literal>-name <replaceable>name</replaceable></literal>: الذي يسمح بالبحث عن ملف حسب الاسم.

en: The <command>grep <replaceable>expression</replaceable> <replaceable>files</replaceable></command> command searches the contents of the files and extracts the lines matching the regular expression (see sidebar <xref linkend="sidebar.regexp" />). Adding the <literal>-r</literal> option enables a recursive search on all files contained in the directory passed as a parameter. This allows looking for a file when only a part of the contents are known.
ar-MA: يبحث الأمر <command>grep <replaceable>expression</replaceable> <replaceable>files</replaceable></command> في محتويات الملفات ويستخلص السطور التي تطابق التعبير النظامي. (انظر الملاحظة الجانبية <xref linkend="sidebar.regexp" />). تمكّن إضافة الخيار <literal>‎-r</literal> البحث التعاودي على جميع الملفات المحتواة في المجلد المعطى كمتغير. هذا يسمح بالعثور على ملف عندما نعلم جزءًا من محتوياته فقط.

en: Managing Processes
ar-MA: إدارة العمليات

en: The <command>ps aux</command> command lists the processes currently running and helps identifying them by showing their <emphasis>pid</emphasis> (process id). Once the <emphasis>pid</emphasis> of a process is known, the <command>kill -<replaceable>signal</replaceable> <replaceable>pid</replaceable></command> command allows sending it a signal (if the process belongs to the current user). Several signals exist; most commonly used are <literal>TERM</literal> (a request to terminate gracefully) and <literal>KILL</literal> (a forced kill).
ar-MA: يسرد الأمر <command>ps aux</command> العمليات التي تعمل حالياً ويساعد على التعرف عليها من خلال عرض رقم <emphasis>pid</emphasis> الخاص بها (process id أي معرِّف العملية). بمجرد معرفة <emphasis>pid</emphasis> إحدى العمليات، يسمح الأمر <command>kill -<replaceable>signal</replaceable> <replaceable>pid</replaceable></command> بإرسال إشارة إليها (إذا كانت العملية خاصة بالمستخدم الحالي). توجد عدة إشارات؛ أكثرها استخداماً <literal>TERM</literal> (طلب إنهاء العملية بلطف) و <literal>KILL</literal> (إنهاء قسري).

en: The command interpreter can also run programs in the background if the command is followed by a “&amp;”. By using the ampersand, the user resumes control of the shell immediately even though the command is still running (hidden from the user; as a background process). The <command>jobs</command> command lists the processes running in the background; running <command>fg %<replaceable>job-number</replaceable></command> (for <emphasis>foreground</emphasis>) restores a job to the foreground. When a command is running in the foreground (either because it was started normally, or brought back to the foreground with <command>fg</command>), the <keycombo action="simul"><keycap>Control</keycap><keycap>Z</keycap></keycombo> key combination pauses the process and resumes control of the command-line. The process can then be restarted in the background with <command>bg %<replaceable>job-number</replaceable></command> (for <foreignphrase>background</foreignphrase>).
ar-MA: يسمح مفسر الأوامر أيضاً بتشغيل البرامج في الخلفية إذا اتبعت الأمر بعلامة ”&amp;“. باستخدام هذه العلامة (ampersand)، يتابع المستخدم تحكمه بالصدفة مباشرة بالرغم من أن الأمر لا يزال يعمل (وهو مخفي عن المستخدم؛ كعملية في الخلفية). يسرد الأمر <command>jobs</command> العمليات التي تعمل في الخلفية حالياً؛ إن تشغيل الأمر <command>fg %<replaceable>job-number</replaceable></command> (اختصاراً لكلمة <emphasis>foreground</emphasis> أي الواجهة) يستعيد البرنامج إلى الواجهة. عندما يعمل البرنامج في الواجهة (سواء لأن تشغيله كان عادياً، أو تمت إعادته إلى الواجهة باستخدام <command>fg</command>)، يوقف المفتاحان <keycombo action="simul"><keycap>Control</keycap><keycap>Z</keycap></keycombo> العملية مؤقتاً ويسمحان بمتابعة التحكم بسطر الأوامر. يمكن بعدها إعادة تشغيل العملية في الخلفية باستخدام <command>bg %<replaceable>job-number</replaceable></command> (اختصاراً لكلمة <foreignphrase>background</foreignphrase> أي الخلفية).

en: System Information: Memory, Disk Space, Identity
ar-MA: معلومات النظام: الذاكرة، مساحة الأقراص، الهوية

en: The <command>free</command> command displays information on memory; <command>df</command> (<emphasis>disk free</emphasis>) reports on the available disk space on each of the disks mounted in the filesystem. Its <literal>-h</literal> option (for <emphasis>human readable</emphasis>) converts the sizes into a more legible unit (usually mebibytes or gibibytes). In a similar fashion, the <command>free</command> command supports the <literal>-m</literal> and <literal>-g</literal> options, and displays its data either in mebibytes or in gibibytes, respectively.
ar-MA: يعرض الأمر <command>free</command> معلومات عن الذاكرة؛ يعطي الأمر <command>df</command> ‏(<emphasis>disk free</emphasis>) تقاريراً عن المساحة المتوفرة على كل واحد من الأقراص المركبة على نظام الملفات. يحوّل خيار <literal>‎-h</literal> (اختصاراً للعبارة <emphasis>human readable</emphasis>) الخاص به الأحجام إلى وحدة أكثر وضوحاً (عادة ميبي بايت أو غيبي بايت). وبنفس الأسلوب، يدعم الأمر <command>free</command> الخيار <literal>‎-m</literal> والخيار <literal>‎-g</literal>، ويعرض بياناته إما بالميبي بايت أو بالغيبي بايت، على التوالي.

en: The <command>id</command> command displays the identity of the user running the session, along with the list of groups they belong to. Since access to some files or devices may be limited to group members, checking available group membership may be useful.
ar-MA: يعرض الأمر <command>id</command> هوية المستخدم الذي يشغل الجلسة، بالإضافة إلى قائمة بالمجموعات التي ينتمي إليها. بما أن الوصول إلى بعض الملفات أو الأجهزة قد يكون محدوداً بأعضاء مجموعة ما، فقد يكون التحقق من عضوية المجموعات مفيداً.

en: Organization of the Filesystem Hierarchy
ar-MA: تنظيم البنية الشجرية لنظام الملفات

en: <primary>Filesystem Hierarchy</primary>
ar-MA: <primary>البنية الشجرية لنظام الملفات</primary>

en: The Root Directory
ar-MA: المجلد الجذر (Root)

en: A Debian system is organized along the <emphasis>Filesystem Hierarchy Standard</emphasis> (FHS). This standard defines the purpose of each directory. For instance, the top-level directories are described as follows:
ar-MA: نظام دبيان منظم وفق <emphasis>معيار البنية الشجرية لنظام الملفات File Hierarchy Standard</emphasis>‏ (FHS). يحدد هذا المعيار الغرض من كل مجلد. مثلا، المجلدات في المستوى الأعلى موصوفة كما يلي:

en: <filename>/bin/</filename>: basic programs;
ar-MA: <filename>/bin/</filename>: البرامج الأساسية؛

en: <filename>/boot/</filename>: Linux kernel and other files required for its early boot process;
ar-MA: <filename>/boot/</filename>: النواة لينكس وملفات أخرى تحتاجها أثناء عملية الإقلاع المبكرة؛

en: <filename>/dev/</filename>: device files;
ar-MA: <filename>/dev/</filename>: ملفات الأجهزة؛

en: <filename>/etc/</filename>: configuration files;
ar-MA: <filename>/etc/</filename>: ملفات الإعدادات؛

en: <filename>/home/</filename>: user's personal files;
ar-MA: <filename>/home/</filename>: ملفات المستخدمين الشخصية؛

en: <filename>/lib/</filename>: basic libraries;
ar-MA: <filename>/lib/</filename>: المكتبات الأساسية؛

en: <filename>/media/*</filename>: mount points for removable devices (CD-ROM, USB keys and so on);
ar-MA: <filename>/media/*</filename>: نقاط ربط للأجهزة النقالة (الأقراص الليزرية، مفاتيح USB وغيرها)؛

en: <filename>/mnt/</filename>: temporary mount point;
ar-MA: <filename>/mnt/</filename>: نقاط ربط مؤقتة؛

en: <filename>/opt/</filename>: extra applications provided by third parties;
ar-MA: <filename>/opt/</filename>: تطبيقات إضافية تقدمها أطراف ثالثة؛

en: <filename>/root/</filename>: administrator's (root's) personal files;
ar-MA: <filename>/root/</filename>: ملفات مدير النظام (المستخدم الجذر) الشخصية؛

en: <filename>/sbin/</filename>: system programs;
ar-MA: <filename>/bin/</filename>: برمجيات النظام؛

en: <filename>/srv/</filename>: data used by servers hosted on this system;
ar-MA: <filename>/srv/</filename>: بيانات تستخدمها المخدّمات التي يستضيفها النظام؛

en: <filename>/tmp/</filename>: temporary files; this directory is often emptied at boot;
ar-MA: <filename>/tmp/</filename>: ملفات مؤقتة؛ غالبًا ما يُفرَّغ هذا المجلد عند الإقلاع؛

en: <filename>/usr/</filename>: applications; this directory is further subdivided into <filename>bin</filename>, <filename>sbin</filename>, <filename>lib</filename> (according to the same logic as in the root directory). Furthermore, <filename>/usr/share/</filename> contains architecture-independent data. <filename>/usr/local/</filename> is meant to be used by the administrator for installing applications manually without overwriting files handled by the packaging system (<command>dpkg</command>).
ar-MA: <filename>/usr/</filename>: التطبيقات؛ هذا المجلد مقسَّم إلى <filename>bin</filename>، ‏<filename>sbin</filename>،‏ <filename>lib</filename> (وفقاً للأسلوب نفسه المتَّبع في المجلد الجذر نفسه). بالإضافة لذلك، يحوي المجلد <filename>/usr/share/</filename> بيانات مستقلة عن المعمارية. والمجلد <filename>/usr/local/</filename> مخصص ليستخدمه مدير النظام لتثبيت البرامج يدويًا دون الكتابة فوق الملفات التي يديرها نظام الحزم (<command>dpkg</command>).

en: <primary>daemon</primary>
ar-MA: <primary>جني</primary>

en: <filename>/var/</filename>: variable data handled by daemons. This includes log files, queues, spools, caches and so on.
ar-MA: <filename>/var/</filename>: بيانات متغيرة تتحكم بها الخدمات. منها ملفات السجلات (log files)، والأرتال (queues)، و spools، والمخابئ (caches) وهكذا.

en: <filename>/proc/</filename> and <filename>/sys/</filename> are specific to the Linux kernel (and not part of the FHS). They are used by the kernel for exporting data to user space (see <xref linkend="sect.userspace-presentation" /> and <xref linkend="sect.user-space" /> for explanations about this concept).
ar-MA: <filename>/proc/</filename> و <filename>/sys/</filename> مخصصة للنواة لينكس (وليست جزءاً من معيار FHS). تستخدم النواة هذين المجلدين لتصدير البيانات إلى فضاء المستخدم (انظر التوضيحات حول هذا المفهوم في <xref linkend="sect.userspace-presentation" /> و<xref linkend="sect.user-space" />).

en: The User's Home Directory
ar-MA: مجلد بيت المستخدم (Home)

en: The contents of a user's home directory is not standardized, but there are still a few noteworthy conventions. One is that a user's home directory is often referred to by a tilde (“~”). That is useful to know because command interpreters automatically replace a tilde with the correct directory (usually <filename>/home/<replaceable>user</replaceable>/</filename>).
ar-MA: إن محتويات مجلد بيت المستخدم غير مقيدة بمعيار، لكن توجد بعض العادات الجديرة بالذكر. أحدها أن مجلد بيت المستخدم غالباً ما يرمز له بالتيلدا (”~“). من المفيد أن تعلم ذلك لأن مفسرات الأوامر تستبدل التيلدا أوتوماتيكيًا بالمجلد الصحيح (عادة <filename>/home/<replaceable>user</replaceable>/</filename>).

en: Traditionally, application configuration files are often stored directly under the user's home directory, but their names usually start with a dot (for instance, the <command>mutt</command> email client stores its configuration in <filename>~/.muttrc</filename>). Note that filenames that start with a dot are hidden by default; and <command>ls</command> only lists them when the <literal>-a</literal> option is used, and graphical file managers need to be told to display hidden files.
ar-MA: تقليديًا، تُخزَّن ملفات إعدادات التطبيقات داخل مجلد بيت المستخدم مباشرة، لكن عادة ما تبدأ أسماؤها بنقطة (مثلاً، عميل البريد <command>mutt</command> يخزن إعداداته في <filename>‎~/.muttrc</filename>). الملفات التي يبدأ اسمها بنقطة مخفية افتراضيًا؛ ولا يسردها الأمر <command>ls</command> إلا عند استخدام الخيار <literal>-a</literal>، أما برامج إدارة الملفات الرسومية فيجب أن تطلب منها عرض الملفات المخفية.

en: Finally, the email system sometimes stores incoming emails into a <filename>~/Mail/</filename> directory.
ar-MA: أخيرًا، أحيانا يخزن نظام البريد الإلكتروني البريد الوارد في مجلد <filename>‎~/Mail/‎</filename>.

en: Inner Workings of a Computer: the Different Layers Involved
ar-MA: آلية العمل الداخلية للحاسوب: طبقات الحاسوب المختلفة

en: A computer is often considered as something rather abstract, and the externally visible interface is much simpler than its internal complexity. Such complexity comes in part from the number of pieces involved. However, these pieces can be viewed in layers, where a layer only interacts with those immediately above or below.
ar-MA: يتم التعامل مع الحواسيب بأسلوب تجريدي غالبًا، وتكون الطبقة الظاهرة منه أبسط بكثير من التعقيد الداخلي للحاسوب. ينتج هذا التعقيد جزئياً عن عدد القطع المكونة للحاسوب. إلا أننا نستطيع تصنيف هذه المكونات في طبقات، حيث تتعامل كل طبقة مع الطبقة التي تليها أو تسبقها فقط.

en: An end-user can get by without knowing these details… as long as everything works. When confronting a problem such as, “The internet doesn't work!”, the first thing to do is to identify in which layer the problem originates. Is the network card (hardware) working? Is it recognized by the computer? Does the Linux kernel see it? Are the network parameters properly configured? All these questions isolate an appropriate layer and focus on a potential source of the problem.
ar-MA: يمكن للمستخدم العادي أن يتدبر أمره دون معرفة هذه التفاصيل… طالما أن كل شيء يعمل على ما يرام. لكن عند مواجهة مشكلة مثل ”الإنترنت لا يعمل!“، فالخطوة الأولى هي تحديد الطبقة التي تسبب المشكلة. هل تعمل بطاقة الشبكة (عتاد)؟ هل تعرَّف عليها الحاسوب؟ هل تستطيع النواة لينكس رؤيتها؟ هل إعدادات الشبكة مضبوطة بشكل صحيح؟ يعزل كل واحد من هذه الأسئلة طبقة مناسبة ويركز على مصدر محتمل للمشكلة.

en: The Deepest Layer: the Hardware
ar-MA: أعمق طبقة: العتاد

en: <primary>Firewire</primary>
ar-MA: <primary>فاير واير</primary>

en: Let us start with a basic reminder that a computer is, first and foremost, a set of hardware elements. There is generally a main board (known as the <emphasis>motherboard</emphasis>), with one (or more) processor(s), some RAM, device controllers, and extension slots for option boards (for other device controllers). Most noteworthy among these controllers are IDE (Parallel ATA), SCSI and Serial ATA, for connecting to storage devices such as hard disks. Other controllers include USB, which is able to host a great variety of devices (ranging from webcams to thermometers, from keyboards to home automation systems) and IEEE 1394 (Firewire). These controllers often allow connecting several devices so the complete subsystem handled by a controller is therefore usually known as a “bus”. Option boards include graphics cards (into which monitor screens will be plugged), sound cards, network interface cards, and so on. Some main boards are pre-built with these features, and don't need option boards.
ar-MA: دعنا نبدأ بتذكرة بسيطة بأن الحاسوب هو، أولاً وقبل كل شيء، مجموعة من المكونات المادية. يوجد فيه عموما لوحة رئيسية (تعرف باسم <emphasis>اللوحة الأم</emphasis>)، عليها معالج واحد (أو أكثر)، بعض الذاكرة RAM، متحكمات الأجهزة، ومنافذ توسعة لتركيب البطاقات الإضافية (لمزيد من متحكمات الأجهزة). من أكثر هذه المتحكمات أهمية نذكر IDE (Parallel ATA)‎، وSCSI وSerial ATA، لتوصيل الأجهزة التخزينية مثل الأقراص الصلبة. من المتحكمات الأخرى USB، الذي يستطيع استضافة مجموعة متنوعة جدًا من الأجهزة (من كاميرات الوب إلى موازين الحرارة، ومن لوحات المفاتيح إلى نظم أتمتة المنازل) و IEEE 1394 (فاير واير). غالباً ما تسمح هذه المتحكمات بتوصيل عدة أجهزة ولذلك عادة ما يطلق اسم ”ناقل“ على النظام الفرعي الكامل الذي يديره المتحكم. من البطاقات الإضافية بطاقات الرسوميات (التي توصل شاشة الحاسوب إليها)، بطاقات الصوت، بطاقات الشبكات، وغيرها. في بعض اللوحات الرئيسية تكون هذه المزايا مبيتة فيها، ولا تحتاج إلى بطاقات إضافية.

en: <emphasis>IN PRACTICE</emphasis> Checking that the hardware works
ar-MA: <emphasis>ممارسة عملية</emphasis> تحقق أن العتاد يعمل

en: Checking that a piece of hardware works can be tricky. On the other hand, proving that it doesn't work is sometimes quite simple.
ar-MA: قد يكون التحقق من أن قطعة عتاد تعمل بشكل صحيح معقدًا. من ناحية أخرى، فإن إثبات أن تلك القطعة لا تعمل بالغ البساطة أحيانا.

en: A hard disk drive is made of spinning platters and moving magnetic heads. When a hard disk is powered up, the platter motor makes a characteristic whir. It also dissipates energy as heat. Consequently, a hard disk drive that stays cold and silent when powered up is broken.
ar-MA: يتألف القرص الصلب من أطباق دائرة ورؤوس مغناطيسية متحركة. عند توصيل الطاقة للقرص الصلب، يعطي محرك الأطباق أزيزا مميزا. كما أنه يبدد الطاقة بشكل حرارة. بالتالي، فإن سواقة الأقراص الصلبة التي تبقى باردة وهادئة عند تشغيلها معطوبة.

en: Network cards often include LEDs displaying the state of the link. If a cable is plugged in and leads to a working network hub or switch, at least one LED will be on. If no LED lights up, either the card itself, the network device, or the cable between them, is faulty. The next step is therefore testing each component individually.
ar-MA: تحوي بطاقات الشبكة عادة أضواء LED تبين حالة الوصلة. إذا وصِل بها سلك وكان يؤدي إلى موزع (hub) أو تحويلة (switch) شبكة فعالة، سيضيء LED واحد على الأقل. إذا لم يعمل أي LED، فإما البطاقة ذاتها، أو جهاز الشبكة، أو السلك بينهما سبب المشكلة. الخطوة التالية إذن اختبار كل مكون من هذه على حدة.

en: Some option boards — especially 3D video cards — include cooling devices, such as heat sinks and/or fans. If the fan does not spin even though the card is powered up, a plausible explanation is the card overheated. This also applies to the main processor(s) located on the main board.
ar-MA: بعض البطاقات الإضافية — خصوصاً بطاقات الفيديو ثلاثي الأبعاد — تحوي أجهزة تبريد، مثل مبرِّدات معدنية أو مراوح. إذا لم تدر المروحة بالرغم من تشغيل البطاقة، فقد يكون تفسير ذلك أن البطاقة ساخنة أكثر من اللازم. هذا ينطبق أيضاً على المعالجات الأساسية الموضوعة على اللوحة الرئيسية.

en: The Starter: the BIOS or UEFI
ar-MA: مفتاح التشغيل: BIOS أو UEFI

en: Hardware, on its own, is unable to perform useful tasks without a corresponding piece of software driving it. Controlling and interacting with the hardware is the purpose of the operating system and applications. These, in turn, require functional hardware to run.
ar-MA: العتاد وحده غير قادر على تنفيذ مهام مفيدة دون البرمجية المناسبة التي تقوده. إن التحكم والتفاعل مع العتاد هو هدف نظام التشغيل والتطبيقات. وهذه بدورها تحتاج إلى عتاد سليم لتعمل.

en: <emphasis>TOOL</emphasis> Setup, the BIOS/UEFI configuration tool
ar-MA: <emphasis>أدوات</emphasis> Setup، أداة إعداد بيوس أو UEFI

en: The boot sector (or the EFI partition), in turn, contains another piece of software, called the bootloader, whose purpose is to find and run an operating system. Since this bootloader is not embedded in the main board but loaded from disk, it can be smarter than the BIOS, which explains why the BIOS does not load the operating system by itself. For instance, the bootloader (often GRUB on Linux systems) can list the available operating systems and ask the user to choose one. Usually, a time-out and default choice is provided. Sometimes the user can also choose to add parameters to pass to the kernel, and so on. Eventually, a kernel is found, loaded into memory, and executed.
ar-MA: يحتوي القطاع الإقلاعي (أو قسم EFI) بدوره على برمجية أخرى، تدعى مُحمِّل الإقلاع (bootloader)، غرضها العثور على نظام التشغيل وبدء تشغيله. نظراً لأن محمل الإقلاع هذا ليس مضمَّناً في اللوحة الرئيسية بل يتم تحميله من القرص، يمكن أن يكون متطوراً أكثر من بيوس، ما يفسر عدم تحميل نظام التشغيل بوساطة بيوس نفسه. مثلا، يمكن لمحمَّل الإقلاع (غالباً ما يكون GRUB على نظم لينكس) أن يسرد نظم التشغيل المتوفرة وأن يطلب من المستخدم اختيار واحد منها. عادة، يتم توفير خَيَار إفتراضي يتم اختياره تلقائياً بعد انقضاء فترة زمنية معينة. يمكن أحياناً أن يختار المستخدم أيضاً إضافة خيارات لتمريرها للنواة، وهكذا. في النهاية سيُعثَر على نواة ما، وسَتُحمَّل إلى الذاكرة، ويبدأ تنفيذها.

en: <emphasis>NOTE</emphasis> UEFI, a modern replacement to the BIOS
ar-MA: <emphasis>ملاحظة</emphasis> UEFI، بديل عصري لنظام BIOS

en: The BIOS/UEFI is also in charge of detecting and initializing a number of devices. Obviously, this includes the IDE/SATA devices (usually hard disk(s) and CD/DVD-ROM drives), but also PCI devices. Detected devices are often listed on screen during the boot process. If this list goes by too fast, use the <keycap>Pause</keycap> key to freeze it for long enough to read. Installed PCI devices that don't appear are a bad omen. At worst, the device is faulty. At best, it is merely incompatible with the current version of the BIOS or main board. PCI specifications evolve, and old main boards are not guaranteed to handle newer PCI devices.
ar-MA: بيوس (أو UEFI) مسؤول أيضاً عن التعرف على عدد من الأجهزة وتهيئتها. من الواضح أن هذا يتضمن أجهزة IDE/SATA (عادة الأقراص الصلبة وسواقات الأقراص الليزرية)، وأيضًا أجهزة PCI. غالبًا ما تُسرَد الأجهزة التي تم التعرف عليها على الشاشة أثناء عملية الإقلاع. إذا كانت هذه القائمة تختفي بسرعة، استعمل مفتاح <keycap>Pause</keycap> لتجميدها فترة تكفيك لقراءتها. أجهزة PCI التي لا تظهر هي نذير شؤم. في أسوأ الحالات، الجهاز معطوب. وفي أفضلها، الجهاز غير متوافق مع إصدارة بيوس الحالية أو غير متوافق مع اللوحة الرئيسية. فمواصفات PCI في تطور، ولا أحد يضمن أن اللوحات الرئيسية القديمة ستتوافق مع أجهزة PCI الأحدث منها.

en: The Kernel
ar-MA: النواة

en: Both the BIOS/UEFI and the bootloader only run for a few seconds each; now we are getting to the first piece of software that runs for a longer time, the operating system kernel. This kernel assumes the role of a conductor in an orchestra, and ensures coordination between hardware and software. This role involves several tasks including: driving hardware, managing processes, users and permissions, the filesystem, and so on. The kernel provides a common base to all other programs on the system.
ar-MA: يعمل كلُّ من بيوس أو UEFI ومحمّل الإقلاع لثوان قليلة فقط لكل منهما؛ لقد وصلنا الآن إلى البرمجية الأولى التي تعمل لفترة أطول، ألا وهي نواة نظام التشغيل.  تتولى النواة مهمة المايسترو في الأوركسترا، وتكفل التناغم بين العتاد والبرمجيات. هذا الدور يتضمن عدة مهام منها: قيادة العتاد، إدارة العمليات، والمستخدمين والصلاحيات، ونظام الملفات، وغيرها. تقدم النواة قاعدة مشتركة لجميع البرامج الأخرى في النظام.

en: The User Space
ar-MA: فضاء المستخدم

en: Although everything that happens outside of the kernel can be lumped together under “user space”, we can still separate it into software layers. However, their interactions are more complex than before, and the classifications may not be as simple. An application commonly uses libraries, which in turn involve the kernel, but the communications can also involve other programs, or even many libraries calling each other.
ar-MA: بالرغم من أننا نستطيع جمع كل ما يحدث خارج النواة معًا تحت اسم ”فضاء المستخدم user space“، إلا أنه يمكن تقسيم هذه الأحداث إلى طبقات برمجية. على أية حال، فإن التفاعلات بين هذه الطبقات أعقد من سابقتها، وقد لا تكون تصنيفات هذه الطبقات بالسهولة نفسها. من الشائع أن تستفيد التطبيقات من المكتبات، والتي بدورها تستعين بالنواة، وقد تدخل برامج أخرى في هذه الاتصالات، أو يمكن أن تستدعي عدة مكتبات بعضها البعض.

en: Some Tasks Handled by the Kernel
ar-MA: بعض المهام التي تتحكم بها النواة

en: Driving the Hardware
ar-MA: إدارة العتاد

en: The kernel is, first and foremost, tasked with controlling the hardware parts, detecting them, switching them on when the computer is powered on, and so on. It also makes them available to higher-level software with a simplified programming interface, so applications can take advantage of devices without having to worry about details such as which extension slot the option board is plugged into. The programming interface also provides an abstraction layer; this allows video-conferencing software, for example, to use a webcam independently of its make and model. The software can just use the <emphasis>Video for Linux</emphasis> (V4L) interface, and the kernel translates the function calls of this interface into the actual hardware commands needed by the specific webcam in use.
ar-MA: النواة تهتم، أولاً وقبل كل شيء، بالتحكم بقطع العتاد، والتعرف عليها، تشغيلها عند تشغيل الحاسوب، وهكذا. كما أنها توفر واجهة برمجية مبسطة للعتاد تستفيد منها البرمجيات عالية المستوى، حتى تستثمر التطبيقات مزايا العتاد دون الحاجة للاهتمام بالتفاصيل مثل أي منفذ توسعة تم تركيب البطاقة الإضافية عليه. تُقدّم الواجهة البرمجية أيضًا طبقة عزل؛ تسمح هذه لبرمجيات الاجتماعات المرئية مثلاً، باستخدام كاميرا الوب بغض النظر عن الشركة الصانعة وطرازها. يستطيع البرنامج استخدام واجهة <emphasis>Video for Linux</emphasis>‏ (V4L) ببساطة، وسوف تترجم النواة استدعاءات دوال هذه الواجهة إلى أوامر العتاد الفعلية التي تحتاجها كاميرا الوب الخاصة المستعملة.

en: Example of information provided by <command>lspci</command> and <command>lsusb</command>
ar-MA: مثال عن المعلومات التي يقدمها الأمر <command>lspci</command> والأمر <command>lsusb</command>

en: Applications often access devices by way of special files created within <filename>/dev/</filename> (see sidebar <xref linkend="sidebar.special-files" />). These are special files that represent disk drives (for instance, <filename>/dev/hda</filename> and <filename>/dev/sdc</filename>), partitions (<filename>/dev/hda1</filename> or <filename>/dev/sdc3</filename>), mice (<filename>/dev/input/mouse0</filename>), keyboards (<filename>/dev/input/event0</filename>), soundcards (<filename>/dev/snd/*</filename>), serial ports (<filename>/dev/ttyS*</filename>), and so on.
ar-MA: تصل التطبيقات إلى الأجهزة غالباً عبر ملفات خاصة منشأة ضمن المجلد <filename>/dev/</filename> (انظر الملاحظة الجانبية <xref linkend="sidebar.special-files" />). هذه الملفات هي ملفات خاصة تمثّل سواقات الأقراص الصلبة (مثلاً، <filename>/dev/hda</filename> و <filename>/dev/sdc</filename>)، أو أقسام الأقراص (مثلاً، <filename>/dev/hda1</filename> أو <filename>/dev/sdc3</filename>)، الفأرات (<filename>/dev/input/mouse0</filename>)، لوحات المفاتيح (<filename>/dev/input/event0</filename>)، بطاقات الصوت (<filename>‎/dev/snd/*‎</filename>)، المنافذ التسلسلية (<filename>‎/dev/ttyS*‎</filename>)، وغيرها.

en: Filesystems
ar-MA: نظم الملفات

en: <primary>filesystem</primary>
ar-MA: <primary>نظام ملفات</primary>

en: Filesystems are one of the most prominent aspects of the kernel. Unix systems merge all the file stores into a single hierarchy, which allows users (and applications) to access data simply by knowing its location within that hierarchy.
ar-MA: نظم الملفات هي إحدى أهم مظاهر النواة. تدمج النظم المشابهة لنظام يونكس جميع أجهزة تخزين الملفات في شجرة واحدة، والتي تسمح للمستخدمين (والتطبيقات) بالوصول إلى البيانات ببساطة بمعرفة مكانها ضمن تلك الشجرة.

en: The starting point of this hierarchical tree is called the root, <filename>/</filename>. This directory can contain named subdirectories. For instance, the <literal>home</literal> subdirectory of <filename>/</filename> is called <filename>/home/</filename>. This subdirectory can, in turn, contain other subdirectories, and so on. Each directory can also contain files, where the actual data will be stored. Thus, the <filename>/home/rmas/Desktop/hello.txt</filename> name refers to a file named <literal>hello.txt</literal> stored in the <literal>Desktop</literal> subdirectory of the <literal>rmas</literal> subdirectory of the <literal>home</literal> directory present in the root. The kernel translates between this naming system and the actual, physical storage on a disk.
ar-MA: تدعى نقطة البداية لهذه الشجرة الهرمية بالجذر root، ويرمز لها بالرمز <filename>/</filename>. يستطيع هذا المجلد أن يحوي مجلدات فرعية مسماة. مثلا، يدعى مجلد <literal>home</literal> (البيت) المتفرع عن <filename>/</filename> باسم <filename>/home/</filename>. يمكن لهذا المجلد الفرعي، بدوره، أن يحوي مجلدات فرعية أخرى، وهكذا. يمكن لكل مجلد أيضًا أن يحوي ملفات، حيث يتم تخزين البيانات الفعلية. بالتالي، يشير الاسم <filename dir="ltr">/home/rmas/Desktop/hello.txt</filename> إلى الملف المسمى <literal>hello.txt</literal> المخزن في المجلد <literal>Desktop</literal> المتفرع عن المجلد <literal>rmas</literal> المتفرع عن المجلد <literal>home</literal> الموجود في الجذر. تترجم النواة بين نظام التسمية هذا وبين نظام التخزين الفعلي الفيزيائي على القرص.

en: Unlike other systems, there is only one such hierarchy, and it can integrate data from several disks. One of these disks is used as the root, and the others are “mounted” on directories in the hierarchy (the Unix command is called <command>mount</command>); these other disks are then available under these “mount points”. This allows storing users' home directories (traditionally stored within <filename>/home/</filename>) on a second hard disk, which will contain the <literal>rhertzog</literal> and <literal>rmas</literal> directories. Once the disk is mounted on <filename>/home/</filename>, these directories become accessible at their usual locations, and paths such as <filename>/home/rmas/Desktop/hello.txt</filename> keep working.
ar-MA: بعكس نظم التشغيل الأخرى، توجد شجرة ملفات واحدة فقط، ويمكن لها أن تضم بيانات من أقراص متعددة. يستخدم أحد هذه الأقراص كجذر، والبقية ”تُربط mount“ بمجلدات في الشجرة (اسم الأمر في يونكس هو <command>mount</command>)؛ تتوفر هذه الأقراص الأخرى بعدئذ تحت ”نقاط الربط mount points“ هذه. يسمح هذا بتخزين مجلدات بيوت المستخدمين (المخزنة ضمن مجلد <filename>/home/</filename> تقليديًا) على قرص ثان، الذي سيحوي مجلدات <literal>rhertzog</literal> و <literal>rmas</literal>. بمجرد ربط القرص مع <filename>/home/</filename>، تصبح هذه المجلدات متاحة للوصول من أماكنها المعتادة، وتبقى المسارات مثل <filename dir="ltr">/home/rmas/Desktop/hello.txt</filename> صالحة.

en: There are also network filesystems, such as <acronym>NFS</acronym>, where data is not stored on a local disk. Instead, data is transmitted through the network to a server that stores and retrieves them on demand. The filesystem abstraction shields users from having to care: files remain accessible in their usual hierarchical way.
ar-MA: بل هناك نظم ملفات شبكية أيضاً، مثل <acronym>NFS</acronym>، حيث لا تخزن البيانات على قرص محلي. بل ترسل البيانات عبر الشبكة إلى مخدم يخزنها ويسترجعها حسب الطلب. إن تجريد نظم الملفات يحمي المستخدمين من الحاجة للاهتمام بذلك: تبقى الملفات متوفرة للوصول بالطريقة الشجرية المعتادة.

en: Shared Functions
ar-MA: الوظائف المشتركة

en: Since a number of the same functions are used by all software, it makes sense to centralize them in the kernel. For instance, shared filesystem handling allows any application to simply open a file by name, without needing to worry where the file is stored physically. The file can be stored in several different slices on a hard disk, or split across several hard disks, or even stored on a remote file server. Shared communication functions are used by applications to exchange data independently of the way the data is transported. For instance, transport could be over any combination of local or wireless networks, or over a telephone landline.
ar-MA: نظرًا لوجود عدد من الوظائف (functions) المتشابهة التي تستخدمها جميع البرمجيات، فمن المنطق تجميعها في النواة. مثلاً، تسمح الإدارة المشتركة لنظام الملفات لأي تطبيق بفتح أي ملف عبر استخدام اسمه ببساطة، دون الحاجة للاهتمام بمكان تخزين الملف فيزيائيًا. يمكن أن يخزَّن الملف في عدة شرائح مختلفة على قرص صلب، أو ينقسم بين عدة أقراص، أو حتى يخزَّن على مخدم ملفات بعيد. تستخدم التطبيقات دوال التواصل المشتركة لتبادل البيانات بغض النظر عن طريقة نقلها. مثلاً، يمكن أن تُنقَل عبر أية تركيبة من الشبكات المحلية أو اللاسلكية، أو عبر خط الهاتف الثابت.

en: A process is a running instance of a program. This requires memory to store both the program itself and its operating data. The kernel is in charge of creating and tracking them. When a program runs, the kernel first sets aside some memory, then loads the executable code from the filesystem into it, and then starts the code running. It keeps information about this process, the most visible of which is an identification number known as <emphasis>pid</emphasis> (<emphasis>process identifier</emphasis>).
ar-MA: العملية هي نسخة فعالة من البرنامج. تحتاج كل عملية إلى ذاكرة لتخزين كُلٍّ من البرنامج نفسه والبيانات التي يعمل عليها. النواة مسؤولة عن إنشاء وتتبع العمليات. عند تشغيل برنامج، تخصص له النواة جزءًا من الذاكرة، ثم تُحمِّل الشفرة التنفيذية من نظام الملفات إليه، بعدها تبدأ تشغيل الشِّفرة. تحتفظ النواة بمعلومات عن هذه العملية، أكثر هذه المعلومات بيانًا للعيان هو رقم تعريف العملية الذي يعرف بالرمز <emphasis>pid</emphasis> (<emphasis>مُعرِّف العملية process identifier</emphasis>).

en: Unix-like kernels (including Linux), like most other modern operating systems, are capable of “multi-tasking”. In other words, they allow running many processes “at the same time”. There is actually only one running process at any one time, but the kernel cuts time into small slices and runs each process in turn. Since these time slices are very short (in the millisecond range), they create the illusion of processes running in parallel, although they are actually only active during some time intervals and idle the rest of the time. The kernel's job is to adjust its scheduling mechanisms to keep that illusion, while maximizing the global system performance. If the time slices are too long, the application may not appear as responsive as desired. Too short, and the system loses time switching tasks too frequently. These decisions can be tweaked with process priorities. High-priority processes will run for longer and with more frequent time slices than low-priority processes.
ar-MA: نوى نظم التشغيل المشابهة لنظام يونكس (بما فيها لينكس)، ومعظم نظم التشغيل الحديثة الأخرى، تدعم ”تعدد المهام“. بكلمات أخرى، تسمح هذه النوى بتشغيل العديد من العمليات ”في الوقت نفسه“. في الحقيقة توجد مهمة واحدة تعمل في الوقت الواحد، لكن النواة تقسم الوقت إلى شرائح قصيرة وتشغل كل عملية بالدور. ونظراً لقصر هذه الشرائح الزمنية الشديد (من رتبة الميللي ثانية)، يتولد سراب العمليات التي تعمل على التوازي، بالرغم من أنها في الواقع فعالة فقط خلال بعض الفترات الزمنية وخاملة بقية الوقت. مهمة النواة هي ضبط آلية جدولة هذه الفترات للإبقاء على هذا الوهم، مع رفع أداء النظام الكلي إلى أعظم ما يمكن. إذا كانت الشرائح الزمنية طويلة جداً، فقد يفقد التطبيق قدرته على التجاوب بالشكل المقبول. وإذا كانت قصيرة جداً، سيضيّع النظام الوقت في التبديل بين المهام بشكل متكرر. يمكن إحكام هذه القرارات باستخدام أولويات العمليات. العمليات ذات الأولوية العالية ستعمل في شرائح زمنية أطول ولها تواتر أعلى من شرائح العمليات ذات الأولوية المنخفضة.

en: <emphasis>NOTE</emphasis> Multi-processor systems (and variants)
ar-MA: <emphasis>ملاحظة</emphasis> الأنظمة متعددة المعالجات (ومشتقاتها)

en: The limitation described above of only one process being able to run at a time, doesn't always apply. The actual restriction is that there can only be one running process <emphasis>per processor core</emphasis> at a time. Multi-processor, multi-core or “hyper-threaded” systems allow several processes to run in parallel. The same time-slicing system is still used, though, so as to handle cases where there are more active processes than available processor cores. This is far from unusual: a basic system, even a mostly idle one, almost always has tens of running processes.
ar-MA: هذا القيد الذي ذكرناه عن أنه لا يمكن تشغيل إلا عملية واحدة في الوقت نفسه لا ينطبق على كافة الحالات. القيد الحقيقي هو أنه يمكن أن توجد عملية واحدة <emphasis>لكل نواة معالج</emphasis> تعمل في الوقت الواحد. النظم ذات المعالجات المتعددة، أو معالجات بنوى متعددة أو ”متعددة قنوات المعالجة hyper-threaded“ تسمح لعدة عمليات بالعمل على التوازي. ومع ذلك فإن نظام تقسيم الوقت نفسه لا يزال مستخدماً، حتى يدير الحالات التي يكون فيها عدد العمليات النشطة أكبر من عدد نوى المعالجات المتوفرة. هذه هي الحالة المعتادة: فنظام التشغيل البسيط، حتى لو كان خاملاً معظم الأوقات، يكون فيه عشرات العمليات الفعالة دائماً تقريباً.

en: Of course, the kernel allows running several independent instances of the same program. But each can only access its own time slices and memory. Their data thus remain independent.
ar-MA: طبعاً، تسمح النواة بتشغيل أكثر من نسخة مستقلة من البرنامج نفسه. لكن كل واحدة منها تستطيع استخدام ذاكرتها وشرائحها الزمنية الخاصة فقط. وبذلك تبقى بياناتها مستقلة.

en: Rights Management
ar-MA: إدارة الصلاحيات

en: Unix-like systems are also multi-user. They provide a rights management system that supports separate users and groups; it also allows control over actions based on permissions. The kernel manages data for each process, allowing it to control permissions. Most of the time, a process is identified by the user who started it. That process is only permitted to take those actions available to its owner. For instance, trying to open a file requires the kernel to check the process identity against access permissions (for more details on this particular example, see <xref linkend="sect.rights-management" />).
ar-MA: نظم التشغيل المشابهة لنظام يونكس متعددة المستخدمين أيضاً. فهي تقدم نظام إدارة صلاحيات يدعم وجود مستخدمين ومجموعات منفصلة؛ كما يسمح أيضاً بالتحكم بالأعمال الجارية اعتماداً على الصلاحيات. تدير النواة بيانات لكل عملية على حدة تسمح لها بالتحكم بالصلاحيات. في معظم الأوقات، تُعرَّفُ العملية بهوية المستخدم الذي بدأ تنفيذها. يُسْمَح لتلك العملية بتنفيذ الأفعال نفسها المتاحة لمالكها فقط. مثلاً، تحتاج محاولة فتح ملف من النواة التحقق من هوية العملية استناداً لصلاحيات الوصول (لمزيد من التفاصيل عن هذا المثال بالذات، انظر <xref linkend="sect.rights-management" />).

en: <primary>kernel space</primary>
ar-MA: <primary>فضاء النواة</primary>

en: “User space” refers to the runtime environment of normal (as opposed to kernel) processes. This does not necessarily mean these processes are actually started by users because a standard system normally has several “daemon” (or background) processes running before the user even opens a session. Daemon processes are also considered user-space processes.
ar-MA: يشير ”فضاء المستخدم user space“ إلى بيئة تشغيل العمليات العادية (مقارنة بعمليات النواة). لا يعني هذا بالضرورة أن المستخدم يُشَغِّل هذه العمليات لأن النظام القياسي يحوي في الحالة الطبيعية عدة عمليات خدمية (تعمل في الخلفية) تعمل قبل أن يفتح المستخدم أي جلسة عمل أصلاً. تعتبر العمليات الخدمية تابعة لفضاء المستخدم أيضاً.

en: When the kernel gets past its initialization phase, it starts the very first process, <command>init</command>. Process #1 alone is very rarely useful by itself, and Unix-like systems run with many additional processes.
ar-MA: عندما تنهي النواة طور تهيئتها، تبدأ العملية الأولى، <command>init</command>. العملية #1 وحدها نادراً ما تكون مفيدة بحد ذاتها، ونظم التشغيل المشابهة لنظام يونكس تحوي عمليات إضافية عديدة.

en: <primary><emphasis>fork</emphasis></primary>
ar-MA: <primary><emphasis>مشتق</emphasis></primary>

en: First of all, a process can clone itself (this is known as a <emphasis>fork</emphasis>). The kernel allocates a new (but identical) process memory space, and another process to use it. At this time, the only difference between these two processes is their <emphasis>pid</emphasis>. The new process is usually called a child process, and the original process whose <emphasis>pid</emphasis> doesn't change, is called the parent process.
ar-MA: أولاً، يمكن للعملية استنساخ نفسها (تعرف هذه العملية <emphasis>بالاشتقاق fork</emphasis>). تخصص النواة مساحة ذاكرة جديدة للعملية (لكن مطابقة للقديمة)، وعملية أخرى لاستخدامها. عند هذه اللحظة، الاختلاف الوحيد بين العمليتين هو رقم التعريف <emphasis>pid</emphasis>. تدعى العملية الجديدة بالعملية الابن عادة، والعملية الأصل التي لم يتغير رقم تعريفها، بالعملية الأم.

en: Sometimes, the child process continues to lead its own life independently from its parent, with its own data copied from the parent process. In many cases, though, this child process executes another program. With a few exceptions, its memory is simply replaced by that of the new program, and execution of this new program begins. This is the mechanism used by the init process (with process number 1) to start additional services and execute the whole startup sequence. At some point, one process among <command>init</command>'s offspring starts a graphical interface for users to log in to (the actual sequence of events is described in more details in <xref linkend="sect.system-boot" />).
ar-MA: أحياناً تتابع العملية الابن قيادة حياتها الخاصة مستقلة عن الأم، باستخدام بياناتها الخاصة المنسوخة عن العملية الأم.لكن في حالات عديدة تنفذ هذه العملية الابن برنامجاً آخر، حيث تُستَبدل ذاكرتها ببساطة بذاكرة البرنامج الجديد، ويبدأ تنفيذ هذا البرنامج إلا في بعض الاستثناءات القليلة. هذه هي الآلية التي تعتمدها عملية init (العملية رقم 1) لبدء الخدمات الإضافية وتنفيذ سلسلة الإقلاع كلها. وفي لحظة ما، تبدأ إحدى العمليات من ذرية <command>init</command> واجهة رسومية حتى يسجل المستخدمون دخولهم (التسلسل الحقيقي للأحداث مشروح بمزيد من التفصيل في <xref linkend="sect.system-boot" />).

en: When a process finishes the task for which it was started, it terminates. The kernel then recovers the memory assigned to this process, and stops giving it slices of running time. The parent process is told about its child process being terminated, which allows a process to wait for the completion of a task it delegated to a child process. This behavior is plainly visible in command-line interpreters (known as <emphasis>shells</emphasis>). When a command is typed into a shell, the prompt only comes back when the execution of the command is over. Most shells allow for running the command in the background, it is a simple matter of adding an <userinput>&amp;</userinput> to the end of the command. The prompt is displayed again right away, which can lead to problems if the command needs to display data of its own.
ar-MA: عندما تنهي العملية المهمة التي بدأت لأجلها، تنتهي العملية. بعدها تستعيد النواة الذاكرة المخصصة لهذه العملية، وتقطع عنها شرائح التشغيل الزمنية. يتم إعلام العملية الأم عن انتهاء عمليتها الابن، ما يسمح لعملية ما أن تنتظر إنهاء مهمة فوضت أحد أبنائها بها. هذا السلوك واضح للعين المجردة في مفسرات سطر الأوامر (تعرف باسم <emphasis>الأصداف shells</emphasis>). عند كتابة أمر في الصَدَفَة، لا تعود إشارة الإدخال قبل انتهاء تنفيذ الأمر. تسمح معظم الأصداف بتشغيل الأوامر في الخلفية، يكون ذلك بسهولة بإضافة <userinput>&amp;</userinput> إلى نهاية الأمر. بعدها تظهر إشارة الإدخال مجددًا مباشرة، وهذا قد يسبب مشاكل إذا كان الأمر يحتاج لإظهار بيانات خاصة به.

en: Daemons
ar-MA: الجن

en: A “daemon” is a process started automatically by the boot sequence. It keeps running (in the background) to perform maintenance tasks or provide services to other processes. This “background task” is actually arbitrary, and does not match anything particular from the system's point of view. They are simply processes, quite similar to other processes, which run in turn when their time slice comes. The distinction is only in the human language: a process that runs with no interaction with a user (in particular, without any graphical interface) is said to be running “in the background” or “as a daemon”.
ar-MA: ”الجني daemon“ هو عملية تُشغِّلها متتالية الإقلاع آلياً. يبقى نشطاً (في الخلفية) لتنفيذ مهام صيانة أو تقديم خدمات للعمليات الأخرى. هذه ”المهمة في الخلفية“ عشوائية في الحقيقة، ولا تقابل أي شيء محدد من وجهة نظر النظام. هي مجرد عمليات، شبيهة بالعمليات الأخرى تماماً، التي تعمل بدورها عندما تحين حصتها من الوقت. هذا التمييز موجود في لغة البشر فقط: أية عملية تعمل بدون أي تفاعل مع المستخدم (على الأخص، بدون واجهة رسومية) يقال أنها تعمل ”في الخلفية“ أو أنها ”جني“.

en: <emphasis>VOCABULARY</emphasis> Daemon, demon, a derogatory term?
ar-MA: <emphasis>مصطلحات</emphasis> جني، شيطان، مصطلح ازدرائي؟

en: Although <emphasis>daemon</emphasis> term shares its Greek etymology with <emphasis>demon</emphasis>, the former does not imply diabolical evil, instead, it should be understood as a kind of helper spirit. This distinction is subtle enough in English; it is even worse in other languages where the same word is used for both meanings.
ar-MA: بالرغم من أن مصطلح <emphasis>daemon</emphasis> (جني) يتشاطر أصله اليوناني مع <emphasis>demon</emphasis> (شيطان)، إلا أن الأول لا يتضمن شراً شيطانياً، بالعكس، يجب التفكير به على أنه نوع من الأرواح المساعدة. هذا التفريق معقّد بما يكفي في الإنكليزية، بل هو أسوأ في لغات أخرى حيث تستخدم الكلمة نفسها للدلالة على المعنيين.

en: Several such daemons are described in detail in <xref linkend="unix-services" />.
ar-MA: هناك شرح مفصل لمجموعة من الجن أمثال هؤلاء في <xref linkend="unix-services" />.

en: Inter-Process Communications
ar-MA: التواصل بين العمليات

en: An isolated process, whether a daemon or an interactive application, is rarely useful on its own, which is why there are several methods allowing separate processes to communicate together, either to exchange data or to control one another. The generic term referring to this is <emphasis>inter-process communication</emphasis>, or IPC for short.
ar-MA: إن العملية المعزولة، سواء كانت خدمة أو تطبيقًا تفاعليًا، نادراً ما تكون مفيدة بحد ذاتها، وهو السبب وراء وجود العديد من أساليب التواصل بين العمليات المنفصلة، سواء لتبادل البيانات أو لتتحكم واحدتها بالأخرى. المصطلح العام للتعبير عن هذا المفهوم هو <emphasis>التواصل بين العمليات inter-process communication</emphasis>، أو IPC اختصاراً.

en: The simplest IPC system is to use files. The process that wishes to send data writes it into a file (with a name known in advance), while the recipient only has to open the file and read its contents.
ar-MA: أبسط نظام IPC هو استخدام الملفات. تكتب العملية التي ترغب بإرسال البيانات بياناتها في ملف (له اسم معروف مسبقًا)، في حين تحتاج العملية المتلقية إلى فتح الملف وقراءة محتوياته فقط.

en: <primary><emphasis>pipe</emphasis></primary>
ar-MA: <primary><emphasis>أنبوب</emphasis></primary>

en: In the case where you do not wish to store data on disk, you can use a <emphasis>pipe</emphasis>, which is simply an object with two ends; bytes written in one end are readable at the other. If the ends are controlled by separate processes, this leads to a simple and convenient inter-process communication channel. Pipes can be classified into two categories: named pipes, and anonymous pipes. A named pipe is represented by an entry on the filesystem (although the transmitted data is not stored there), so both processes can open it independently if the location of the named pipe is known beforehand. In cases where the communicating processes are related (for instance, a parent and its child process), the parent process can also create an anonymous pipe before forking, and the child inherits it. Both processes will then be able to exchange data through the pipe without needing the filesystem.
ar-MA: في الحالات التي لا ترغب فيها بتخزين البيانات على القرص، يمكنك استخدام <emphasis>أنبوب</emphasis>، وهو ببساطة عنصر له نهايتان؛ البايتات المكتوبة في إحداهما، تكون مقروءة عند النهاية الأخرى. إذا تَحكَّمَت بالنهايتين عمليتين منفصلتين، يصبح الأنبوب بمثابة قناة تواصل بين العمليات بسيطة وسهلة الاستعمال. يمكن تصنيف الأنابيب في زمرتين: الأنابيب المسمّاة، والأنابيب المجهولة. يُمثَّل الأنبوب المسمى بمدخلة في نظام الملفات (مع أن البيانات المرسلة لا تُخزَّن هناك)، بحيث يمكن لكلا العمليتين فتحه بشكل مستقل إذا كان موقع الأنبوب المسمى معروفًا من قبل. في الحالات التي تكون فيها العمليات التي تتواصل فيما بينها مرتبطة ببعضها (مثلاً، عملية أم مع ابنها)، يمكن للعملية الأم أيضًا إنشاء أنبوب مجهول قبل الاشتقاق، وسيرثه الابن. ستتمكن كلا العمليتان عندئذ من تبدل البيانات فيما بينهما باستخدام الأنبوب دون الحاجة لنظام الملفات.

en: <emphasis>IN PRACTICE</emphasis> A concrete example
ar-MA: <emphasis>ممارسة عملية</emphasis> مثال شامل

en: Let's describe in some detail what happens when a complex command (a <emphasis>pipeline</emphasis>) is run from a shell. We assume we have a <command>bash</command> process (the standard user shell on Debian), with <emphasis>pid</emphasis> 4374; into this shell, we type the command: <command>ls | sort</command> .
ar-MA: دعنا نناقش ما يحدث عند تنفيذ أمر معقد (<emphasis>خط أنابيب</emphasis>) من الصَدَفة بشيء من التفصيل. نحن نفترض أن لدينا عملية <command>bash</command> (صَدَفة المستخدم القياسية على دبيان)، لها <emphasis>pid</emphasis> يساوي4374؛ وفي هذه الصدفة، سنكتب الأمر : <command>ls | sort</command> .

en: The shell first interprets the command typed in. In our case, it understands there are two programs (<command>ls</command> and <command>sort</command>), with a data stream flowing from one to the other (denoted by the <userinput>|</userinput> character, known as <emphasis>pipe</emphasis>). <command>bash</command> first creates an unnamed pipe (which initially exists only within the <command>bash</command> process itself).
ar-MA: تُفَسِّر الصدفة أولاً الأمر المكتوب فيها. في حالتنا، ستفهم أن هناك برنامجين (<command>ls</command> و <command>sort</command>)، مع مجرى بيانات يتدفق من أحدهما إلى الآخر (ممثل بالمحرف <userinput>|</userinput>، الذي يدعى <emphasis>بالأنبوب</emphasis>). تنشئ <command>bash</command> أولاً أنبوبًا مجهولاً (الذي يكون مبدئيًا ضمن عملية <command>bash</command> نفسها).

en: Then the shell clones itself; this leads to a new <command>bash</command> process, with <emphasis>pid</emphasis> #4521 (<emphasis>pids</emphasis> are abstract numbers, and generally have no particular meaning). Process #4521 inherits the pipe, which means it is able to write in its “input” side; <command>bash</command> redirects its standard output stream to this pipe's input. Then it executes (and replaces itself with) the <command>ls</command> program, which lists the contents of the current directory. Since <command>ls</command> writes on its standard output, and this output has previously been redirected, the results are effectively sent into the pipe.
ar-MA: تستنسخ الصدفة نفسها؛ هذا يؤدي إلى عملية <command>bash</command> جديدة، لها <emphasis>pid</emphasis> رقمه 4521 (<emphasis>pid</emphasis> هي مجرد أرقام، وعادة لا يكون لها أي معنى محدد). ترث العملية #4521 الأنبوب، ما يعني أنها قادرة على الكتابة في نهاية ”الإدخال“ الخاصة به؛ تُعيد <command>bash</command> توجيه مجرى خرجها القياسي إلى دخل هذا الأنبوب. بعدها تنفذ البرنامج <command>ls</command>  (وتستبدل نفسها به)، الذي يسرد محتويات المجلد الحالي. نظراً لأن <command>ls</command> يكتب على مجرى خرجه القياسي، وقد أعيد توجيه هذا المجرى مسبقًا، سيتم إرسال النتائج عمليًا إلى الأنبوب.

en: A similar operation happens for the second command: <command>bash</command> clones itself again, leading to a new <command>bash</command> process with pid #4522. Since it is also a child process of #4374, it also inherits the pipe; <command>bash</command> then connects its standard input to the pipe output, then executes (and replaces itself with) the <command>sort</command> command, which sorts its input and displays the results.
ar-MA: تحدث عملية مشابهة للأمر الثاني حيث تستنسخ <command>bash</command> نفسها ثانية، منتجة عملية <command>bash</command> جديدة لها pid يساوي 4522. ولأنها أيضًا ابنة للعملية #4374، فسوف ترث الأنبوب؛ بعدها تربط <command>bash</command> دخلها القياسي إلى خرج الأنبوب، بعدها تنفذ الأمر <command>sort</command> (وتستبدل نفسها به)، الذي يرتب دخله ويعرض النتائج.

en: All the pieces of the puzzle are now set up: <command>ls</command> reads the current directory and writes the list of files into the pipe; <command>sort</command> reads this list, sorts it alphabetically, and displays the results. Processes numbers #4521 and #4522 then terminate, and #4374 (which was waiting for them during the operation), resumes control and displays the prompt to allow the user to type in a new command.
ar-MA: الآن اكتملت قطع الأحجية كلها: يكتب <command>ls</command> قائمة الملفات الموجودة في المجلد الحالي في الأنبوب؛ يقرأ <command>sort</command> هذه القائمة، يرتبها أبجديًا، ويعرض النتائج. تنتهي العمليات ذات الأرقام #4521 و #4522 بعدها، والعملية #4374 (التي كانت تنتظرهم أثناء الحدث)، تتابع التحكم وتعرض إشارة الإدخال للسماح للمستخدم بكتابة أمر جديد.

en: Not all inter-process communications are used to move data around, though. In many situations, the only information that needs to be transmitted are control messages such as “pause execution” or “resume execution”. Unix (and Linux) provides a mechanism known as <emphasis>signals</emphasis>, through which a process can simply send a specific signal (chosen from a predefined list of signals) to another process. The only requirement is to know the <emphasis>pid</emphasis> of the target.
ar-MA: لا تستخدم جميع الاتصالات بين العمليات لنقل البيانات بينها مع ذلك. في العديد من الحالات، المعلومات التي نحتاج إرسالها رسائل تحكم مثل ”أوقف التنفيذ مؤقتاً“ أو ”تابع التنفيذ“. يقدم يونكس (ولينكس) آلية تُعرَف باسم <emphasis>الإشارات signals</emphasis>، تستطيع العملية من خلالها إرسال إشارة محددة ببساطة (تختارها من قائمة من الإشارات المعرفة مسبقاً) إلى عملية أخرى. المتطلب الوحيد هو معرفة <emphasis>pid</emphasis> العملية الهدف.

en: For more complex communications, there are also mechanisms allowing a process to open access, or share, part of its allocated memory to other processes. Memory now shared between them can be used to move data between the processes.
ar-MA: هناك آليات أخرى للاتصالات الأكثر تعقيدًا، تسمح للعملية بالسماح لفتح الوصول إلى الذاكرة المخصصة لها، أو مشاركة جزء منها مع العمليات الأخرى. عندئذ يمكن استخدام ذلك الجزء المشترك من الذاكرة المشتركة لنقل البيانات بين العمليات المشتركة عليه.

en: Finally, network connections can also help processes communicate; these processes can even be running on different computers, possibly thousands of kilometers apart.
ar-MA: أخيرًا، يمكن أن تساعد الاتصالات الشبكية بالتواصل بين العمليات؛ يمكن أن توجد هذه العمليات على حواسيب مختلفة، وقد تبعد عن بعضها آلاف الكيلومترات.

en: It is quite standard for a typical Unix-like system to make use of all these mechanisms to various degrees.
ar-MA: من العادي جداً لأي نظام نموذجي مشابه لنظام يونكس أن يستخدم جميع هذه الآليات بدرجات متفاوتة.

en: Libraries
ar-MA: المكتبات

en: <primary>library (of functions)</primary>
ar-MA: <primary>مكتبة (للدوال)</primary>

en: Function libraries play a crucial role in a Unix-like operating system. They are not proper programs, since they cannot be executed on their own, but collections of code fragments that can be used by standard programs. Among the common libraries, you can find:
ar-MA: تلعب مكتبات الدوال دوراً حيويًا في نظم التشغيل المشابه لنظام يونكس. ليست هذه المكتبات برامج تامة، نظرًا لعدم إمكانية تنفيذها منفردة، لكنها مجموعة من فتات الكود التي يمكن للبرامج القياسية استخدامه. من المكتبات الشائعة، نذكر ما يلي:

en: the standard C library (<emphasis>glibc</emphasis>), which contains basic functions such as ones to open files or network connections, and others facilitating interactions with the kernel;
ar-MA: مكتبة C القياسية (<emphasis>glibc</emphasis>)، التي تحوي الوظائف الأساسية مثل دوال فتح الملفات أو الاتصالات الشبكية، وغيرها مما يسهل التفاعل مع النواة؛

en: graphical toolkits, such as Gtk+ and Qt, allowing many programs to reuse the graphical objects they provide;
ar-MA: المكتبات الرسومية، Gtk+‎ وQt، تسمح للعديد من البرامج بإعادة استخدام العناصر الرسومية التي توفرها؛

en: Thanks to those libraries, applications can reuse existing code. Application development is simplified since many applications can reuse the same functions. With libraries often developed by different persons, the global development of the system is closer to Unix's historical philosophy.
ar-MA: بفضل هذه المكتبات، تستطيع البرامج إعادة استخدام الكود. يصبح تطوير البرامج أبسط، لأن عدة تطبيقات تستطيع استخدام الدوال نفسها. بما أن تطوير المكتبات يتم بأيد أشخاص مختلفين عادة، فإن التطوير الكلي للنظام أقرب إلى فلسفة يونكس التاريخية.

en: <emphasis>CULTURE</emphasis> The Unix Way: one thing at a time
ar-MA: <emphasis>ثقافة</emphasis> أسلوب يونكس: مهمة واحدة في الوقت الواحد

en: One of the fundamental concepts that underlies the Unix family of operating systems is that each tool should only do one thing, and do it well; applications can then reuse these tools to build more advanced logic on top. This philosophy can be seen in many incarnations. Shell scripts may be the best example: they assemble complex sequences of very simple tools (such as <command>grep</command>, <command>wc</command>, <command>sort</command>, <command>uniq</command> and so on). Another implementation of this philosophy can be seen in code libraries: the <emphasis>libpng</emphasis> library allows reading and writing PNG images, with different options and in different ways, but it does only that; no question of including functions that display or edit images.
ar-MA: أحد المفاهيم الأساسية التي تحدد عائلة نظم تشغيل يونكس هو أن كل أداة يجب أن تفعل شيئا واحدا فقط، وأن تتمه بشكل جيد؛ يمكن للتطبيقات بعد ذلك إعادة استخدام هذه الأدوات لبناء منطق أكثر تقدّما فوقها. يمكن أن نرى هذه الفلسفة في العديد من النظم الشبيهة بنظام يونكس. قد تكون سكربتات الصدفة أفضل مثال: فهي تجمع متتاليات معقدة لأدوات بسيطة جدًا (مثل <command>grep</command> و<command>wc</command> و<command>sort</command> و<command>uniq</command> وهكذا). يمكن أن نرى تطبيقاً آخر لهذه الفلسفة في مكتبات الكود: تسمح مكتبة <emphasis>libpng</emphasis> بقراءة وكتابة صور PNG، بخيارات مختلفة وبأساليب متنوعة، لكنها لا تفعل غير ذلك؛ لا توجد إمكانية لتضمين دوال تعرض الصور أو تحررها.

en: Moreover, these libraries are often referred to as “shared libraries”, since the kernel is able to only load them into memory once, even if several processes use the same library at the same time. This allows saving memory, when compared with the opposite (hypothetical) situation where the code for a library would be loaded as many times as there are processes using it.
ar-MA: بالإضافة إلى ذلك، غالباً ما يُشَار إلى هذه المكتبات على أنها ”مكتبات مشتركة“، لأن النواة تستطيع تحميلها إلى الذاكرة مرة واحدة فقط، حتى لو كانت عدة عمليات تستخدم المكتبة نفسها في الوقت ذاته. يسمح هذا بتوفير الذاكرة، مقارنة مع الحالة (النظرية) النقيضة لها حيث يتم تحميل كود المكتبة بعدد العمليات التي تستخدمها.
