glibc

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
GNU C Library
Heckert GNU white.svg
Linux kernel System Call Interface and glibc.svg
Розробник(и) GNU Project
Стабільний випуск 2.19 (8 лютого 2014; 255 днів тому)
Написано на C
Операційна система багатоплатформовий
Платформа багатоплатформовий
Стан розробки активний
Тип програмна бібліотека
Ліцензія GNU Lesser General Public License
Сайт gnu.org/software/libc
GNU C Library

glibc (англ. GNU C Library — GNU бібліотека Сі) — стандартна бібліотека мови Сі з проекту GNU, яка забезпечує системні виклики та основні функції. Вона написана Фондом вільного програмного забезпечення для операційних систем родини GNU. glibc повністю відповідає вимогам стандартів ISO C99, C11 та POSIX.1-2008, і випущена під ліцензією GNU LGPL.

glibc є основою більшості Linux-дистрибутивів, за винятком OpenWrt, Debian і Ubuntu, які перейшли на використання системної бібліотеки Eglibc. Бібліотека Eglibc побудована на актуальній кодовій базі Glibc і повністю сумісна з нею на рівні API і ABI, відрізняючись інтеграцією деяких додаткових напрацювань для вбудовуваних систем, нижчими системними вимогами (підтримується складання з відключеними компонентами для забезпечення сумісності), можливістю гнучкого налаштування компонентів, поліпшеною підтримкою кросс-компіляції і крос-тестування.

Історія[ред.ред. код]

Бібліотека створена Фондом вільного програмного забезпечення (Free Software Foundation, FSF) для операційних систем GNU. Розробка бібліотеки була переглянута комітетом з 2001[1] на чолі з провідним розробником і підтримувачем Ульріхом Дреппером Ulrich Drepper з Red Hat.

Спочатку glibc була написана Роландом Мак-Гратом (Roland McGrath), котрий працюваа у FSF в 1980-x роках. У лютому 1988 року FSF представила glibc як бібліотеку, що має найповнішу функціональність, необхідну для ANSI C.[2] У 1992 були імплементовані функції ANSI C-1989 та POSIX.1-1990 і робота переведена у спосіб POSIX.2.[3]

Тимчасовий форк glibc[ред.ред. код]

На початку 1990-х років розробники ядра Linux створили форк glibc. Він був названий «Linux libc». Коли FSF випустила в 1996 році glibc 2.0, яка підтримувала IPv6, 64-бітовий доступ до даних, багатонитеві програми, сумісність з майбутніми версіями і більше стерпний сирцевий код, розробники Linux перервали розробку Linux libc і почали використовувати glibc від FSF.

Підтримувані архітектури та ядра[ред.ред. код]

Glibc використовується в системах, на яких працює багато різних ОС, і на різних архітектурах. Найбільш часто glibc використовується на машинах x86-архітектури з ОС Linux. Але також офіційно підтримуються такі архітектури: SPARC, Motorola 68k, DEC Alpha, PowerPC, ARM, ETRAX CRIS, s390.

Критика[ред.ред. код]

glibc критикують за її «роздутість» і повільну роботу в порівнянні з іншими минулими бібліотеками. Тому були створені кілька альтернативних стандартних бібліотек мови Сі (dietlibc, uClibc і Newlib).

Виноски[ред.ред. код]

  1. «glibc homepage». Архів оригіналу за 2013-07-12. «In 2001 The GNU C Library Steering Committee ..., was formed and currently consists of Mark Brown, Paul Eggert, Andreas Jaeger, Jakub Jelinek, Roland McGrath and Andreas Schwab.» 
  2. «http://www.gnu.org/bulletins/bull4.html». Архів оригіналу за 2013-07-12. «Most libraries are done. Roland McGrath [...] has a nearly complete set of ANSI C library functions. We hope they will be ready some time this spring.» 
  3. «GNU's Bulletin, vol. 1 no. 12». Архів оригіналу за 2013-07-12. «It now contains all of the ANSI C-1989 and POSIX.1-1990 functions, and work is in progress on POSIX.2 and Unix functions (BSD and System V)» 

Див. також[ред.ред. код]

Посилання[ред.ред. код]