|
Lines 69-74
Link Here
|
| 69 |
sharing and managing requests for hardware devices, peripherals, |
69 |
sharing and managing requests for hardware devices, peripherals, |
| 70 |
memory, and CPU time evenly to each user.</para> |
70 |
memory, and CPU time evenly to each user.</para> |
| 71 |
|
71 |
|
|
|
72 |
<para>Much more information about User Accounts is in the chapter |
| 73 |
about <link linkend="users">accounts</link>. For now you just |
| 74 |
need to know that each person (user) who uses the computer should be |
| 75 |
given their own username and password. The system keeps track |
| 76 |
of the people using the computer based on this username. Since |
| 77 |
it is often the case that several people are working on the same |
| 78 |
project Unix also provides groups. Several users can be placed |
| 79 |
in the same group.</para> |
| 80 |
|
| 72 |
<para>Because the system is capable of supporting multiple users, |
81 |
<para>Because the system is capable of supporting multiple users, |
| 73 |
everything the system manages has a set of permissions governing who |
82 |
everything the system manages has a set of permissions governing who |
| 74 |
can read, write, and execute the resource. These permissions are |
83 |
can read, write, and execute the resource. These permissions are |
|
Lines 1687-1692
Link Here
|
| 1687 |
|
1696 |
|
| 1688 |
<sect1 id="binary-formats"> |
1697 |
<sect1 id="binary-formats"> |
| 1689 |
<title>Binary Formats</title> |
1698 |
<title>Binary Formats</title> |
|
|
1699 |
<para>Typically when you type in a command to a shell the shell |
| 1700 |
will arrange for an executable file to be loaded into memory and |
| 1701 |
a new process results. Executable files can either be a binary |
| 1702 |
file (usually created by the linker as part of compiling a program) |
| 1703 |
or a shell script (text file to be interpreted by a binary file, |
| 1704 |
like &man.sh.1; or &man.perl.1;). The &man.file.1; command can |
| 1705 |
usually tell you what is inside of a file.</para> |
| 1706 |
|
| 1707 |
<para>Binary files need to have a well defined format for the system |
| 1708 |
to be able to use them properly. Part of the file will be the |
| 1709 |
executable machine code (the instructions that tell the CPU what |
| 1710 |
to do), part of it will be data space with pre-defined values, |
| 1711 |
part will be data space with no pre-defined values, etc. Through |
| 1712 |
time different binary file formats have evolved.</para> |
| 1690 |
|
1713 |
|
| 1691 |
<para>To understand why FreeBSD uses the <filename>ELF</filename> |
1714 |
<para>To understand why FreeBSD uses the <filename>ELF</filename> |
| 1692 |
format, you must first know a little about the 3 currently |
1715 |
format, you must first know a little about the 3 currently |
|
Lines 1824-1829
Link Here
|
| 1824 |
<filename>a.out</filename> will be moved out of the GENERIC |
1847 |
<filename>a.out</filename> will be moved out of the GENERIC |
| 1825 |
kernel, and eventually removed from the kernel once the need to |
1848 |
kernel, and eventually removed from the kernel once the need to |
| 1826 |
run legacy <filename>a.out</filename> programs is past.</para> |
1849 |
run legacy <filename>a.out</filename> programs is past.</para> |
|
|
1850 |
|
| 1851 |
<para>In addition to &man.file.1; another command that can prove |
| 1852 |
useful when working with executables is &man.ldd.1;. If |
| 1853 |
&man.file.1; says that a file is a dynamically linked executable |
| 1854 |
&man.ldd.1; can tell you what dynamically linked libraries that |
| 1855 |
executable file requires. Sometimes programs can be linked against |
| 1856 |
compatibility libraries instead of the main system libraries, or |
| 1857 |
otherwise rely on dynamic libraries you were not aware of.</para> |
| 1827 |
</sect1> |
1858 |
</sect1> |
| 1828 |
|
1859 |
|
| 1829 |
<sect1 id="basics-more-information"> |
1860 |
<sect1 id="basics-more-information"> |