BASH Programming - Введение


Возможности Linux


  • многозадачность: несколько программ работают в одно и тоже время.
  • многопользовательская система: несколько пользователей могут работать на одной машине одновременно (и без многопользовательской лицензии!).
  • многоплатформенность: работает на разных процессорах, не только на Intel.
  • многороцессорность: доступна поддержка SMP на платформах Intel и SPARC (для других платформ работа сейчас ведется), и Linux используется в нескольких свободно-связанных MP приложениях, включая системы Beowulf (смотрите ) и основанном на SPARC суперкомпьютере Fujitsu AP1000+.
  • многопоточность: имеет встроенную в ядро поддержку множества независящих потоков внутри пространства одного процесса.
  • работает в защищенном режиме на 386.
  • имеет защиту памяти между процессами, так что одна программа не может разрушить всю систему.
  • загрузка исполнимых файлов по требованию: Linux считывает с диска только те части программ, которые в действительности нужны.
  • разделяемые copy-on-write страницы памяти между программами. Это означает, что много процессов могут использовать одну и туже память для работы. Когда один из процессов пытается записать в эту память, эта страница (4КБ кусок памяти) копируется куда-нибудь. Copy-on-write имеет два преимущества: увеличение скорости и уменьшение используемой памяти.
  • виртуальная памяти использует подкачку страниц (а не свапирование всего процесса) на диск: на отдельный раздел или в файл в файловой системе, или оба способа, с возможностью добавления дополнительных областей свапирования во время работы (да, они все еще называются областями свапирования). Максимум 16 областей свапирования размером по 128 MB (2GB в свежих ядрах) могут быть использованы одновременно, теоретически максимум 2 GB используемого пространства для свапирования. Эти значения достаточно просто увеличить, если это необходимо, просто изменив несколько строк исходного кода.
  • унифицированный пул памяти для пользовательских программ и дискового кеша, так что вся свободная память может быть использована для кеширования, а кеш может быть уменьшен при выполнении больших программ.

  • динамически подключаемые разделяемые библиотеки (DLL), и статические библиотеки.




  • производится core dump для посмертного анализа программ, позволяя использовать отладчик для программы, не только когда она выполняется, но и тогда, когда она аварийно завершается.


  • в большинстве совместима с POSIX, System V и BSD на уровне исходного кода.


  • используя iBCS2-compliant модуль эмуляции, большей частью совместима с SCO, SVR3 и SVR4 на уровне двоичных файлов.


  • доступен весь исходный код, включая все ядро и все драйвера, средства разработки и все пользовательские программы; также, все это свободно распространяется. Множество коммерческих программ предоставляется для Linux без исходного кода, но все что свободно, включая всю базовую операционную систему, остается свободным.


  • управление заданиями POSIX.


  • псевдотерминалы (pty).


  • эмуляция сопроцессора 387 в ядре, так что программам не нужна собственная эмуляция. Каждый компьютер, работающий под управлением Linux представляется как имеющий математический сопроцессор. Конечно, сели на вашем компьютере уже есть математический сопроцессор, то он будет использован вместо эмуляции, и вы можете даже скомпилировать ядро без эмуляции математического сопроцессора, для уменьшения занимаемой ядром памяти.


  • поддержка множества национальных или настраиваемых клавиатур, и достаточно легко динамически добавить еще одну.


  • множественные виртуальные консоли: разные независящие сеансы работы на одной консоли, вы можете переключаться между ними используя комбинацию клавиш (не зависит от видео оборудования). Консоли выделяются динамически; вы можете создать до 64 консолей.


  • Поддержка разных общих файловых систем, включая minix, Xenix, и все общие файловые системы System V, также имеет собственную расширенную файловую систему, которая позволяет создавать разделы до 4 TB, с именами длиной до 255 символов.


  • прозрачный доступ к разделамo MS-DOS (или к разделам OS/2 FAT) используя специальную файловую систему: вам не нужны специальные команды для использования раздела MS-DOS, он выглядит точно также как обычная файловая система Unix (за исключением странных ограничений на имена файлов, права доступа и так далее). Сжатые разделы MS-DOS 6 в настоящее время не доступны без наложения дополнительной заплатки на исходный код ядра (dmsdosfs). Поддержка VFAT (WNT, Windows 95) и FAT-32 доступна в Linux 2.0


  • специальная файловая система, названная UMSDOS, которая позволяет установить Linux на файловую систему DOS.


  • доступ только для чтения к HPFS-2 для OS/2 2.1 (В 2.4 будет доступ и на запись. Прим. переводчика)


  • поддержка файловой системы HFS (Macintosh) доступна отдельно, как модуль.


  • файловая система CD-ROM, которая работает со всеми стандартными форматами CD-ROM.


  • сетевые возможности TCP/IP, включая ftp, telnet, NFS, и т.д.


  • сервер Appletalk


  • клиент и сервер Netware


  • клиент и сервер Lan Manager/Windows Native (SMB)


  • множество сетевых протоколов: базовые протоколы, доступные в последних разрабатываемых ядрах включают TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), Netrom, и другие. Стабильные сетевые протоколы, включенные в стабильную ветку ядер включают в себя TCP, IPv4, IPX, DDP, и AX.25.



  • Содержание раздела