Debian 也向 Embedded 看齊!換上 EGLIBC!
日前『Aurelien Jarno』在 blog 上發表了一文<Debian is switching to EGLIBC>,文中宣告了 Debian 將會逐漸使用<EGLIBC(Embedded GLIBC)>取代 GLIBC(GNU C Library),也說明了換上 EGLIBC 的種種好處和優點。有意思的是,GLIBC 是系統上資是最重要且不可缺少的 C Library,這樣大的轉變,無疑是對 GNU 旗下之 GLIBC 的頑固提出最大不滿。
C Library(LIBC)提供了最基本的各種 System Call,所有的 Application 都是建構在其之上,如 malloc()、printf() 和 exit() 等等 functions 都是由 LIBC 所實作並提供各個應用程式呼叫使用,一般而言,常見的 LIBC 除了 GLIBC 之外,還有知名的 uClibc、BSD libc、klibc,甚至是近來 Android 所使用的 bionic 都是眾 C Library 的一支。
但在一般 Linux 環境下,GLIBC 是主要被採用的 C Library,其遵循著各個標準如:ISO C 99、POSIX.1c、POSIX.1j、POSIX.1d、Unix98、Single Unix Specification,以確保和多數系統之 System Call 所相容,也做了許多效能最佳化的工作,但也就因為如此,其龐大的設計和體積一直以來為人所垢病,讓許多專注於 Embedded Device 的開發者和廠商,著手開發更適合 Embedded System 此類小型或輕量化系統的 C Library,像是 uClibc、bionic。
前面提到,Debian 將開始逐漸嘗試過渡的<EGLIBC(Embedded GLIBC)>,是長期專注於 Embedded Device 的 Freescale、Wind River、MIPS Technologies 和 MontaVista,所著手進行的 GLIBC 改良計劃。EGLIBC 志於相容 GLIBC,『Aurelien Jarno』在他的文章中提到幾個使用 EGLIBC 的優點和特色:
到了今天,Embedded Device 和 PC 已經愈來愈分不清楚,Debian 轉移到 EGLIBC 或許也是種合理的考量,讓我們靜觀其變,拭目以待!
C Library(LIBC)提供了最基本的各種 System Call,所有的 Application 都是建構在其之上,如 malloc()、printf() 和 exit() 等等 functions 都是由 LIBC 所實作並提供各個應用程式呼叫使用,一般而言,常見的 LIBC 除了 GLIBC 之外,還有知名的 uClibc、BSD libc、klibc,甚至是近來 Android 所使用的 bionic 都是眾 C Library 的一支。
但在一般 Linux 環境下,GLIBC 是主要被採用的 C Library,其遵循著各個標準如:ISO C 99、POSIX.1c、POSIX.1j、POSIX.1d、Unix98、Single Unix Specification,以確保和多數系統之 System Call 所相容,也做了許多效能最佳化的工作,但也就因為如此,其龐大的設計和體積一直以來為人所垢病,讓許多專注於 Embedded Device 的開發者和廠商,著手開發更適合 Embedded System 此類小型或輕量化系統的 C Library,像是 uClibc、bionic。
前面提到,Debian 將開始逐漸嘗試過渡的<EGLIBC(Embedded GLIBC)>,是長期專注於 Embedded Device 的 Freescale、Wind River、MIPS Technologies 和 MontaVista,所著手進行的 GLIBC 改良計劃。EGLIBC 志於相容 GLIBC,『Aurelien Jarno』在他的文章中提到幾個使用 EGLIBC 的優點和特色:
- More friendly upstream (especially with regard to embedded architectures): “Encourage cooperation, communication, civility, and respect among developers” (as opposed to this).
- Stable branch with fixes for important bugs (a real one, not like the GLIBC one which is left unchanged).
- Better support for embedded architectures.
- Support for different shells (GLIBC only supports bash).
- Support for building with -Os.
- Configurable components (do we really need NIS or RPC support in debian-installer?).
- Better testsuite for optimized or biarch packages.
到了今天,Embedded Device 和 PC 已經愈來愈分不清楚,Debian 轉移到 EGLIBC 或許也是種合理的考量,讓我們靜觀其變,拭目以待!
小筆誤
回覆刪除"EGLIBC 志於相容 GLIBC,『Aurelien Jarno』在他的文章中提到幾個使用 GLIBC 的優點和特色:"
後面是EGLIBC 吧...:P
是小弟筆誤,已修正,多謝指教 :)
回覆刪除是bionic, 不是bonic...:)
回覆刪除昏了,到底還有多少東西是拼錯的,大家來幫忙找一找吧 :-(
回覆刪除