zoukankan      html  css  js  c++  java
  • Linux从用户层到内核层系列

     

    题记:本系列文章的目的是抛开书本从源代码和使用的角度分析Linux内核和相关源代码,byhankswang和你一起玩转linux开发

     

    轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com微笑

    欢迎加入到CHLK - Linux开发交流群 QQ:327084515 讨论Linux开发相关问题


    GNU系列之glibc 介绍

    最近写程序的时候突然想到一个问题,我们在做内核开发的时候很少使用到C库函数,在linux kernel中使用到C库的几个重要的地方如系统启动时候的标准输入输出,scsi驱动部分还有就是linux/tools。我们修改内核代码的时候都使用内核自身提供的函数接口或者变量,我们可以直接调用系统提供的API,在我们做应用层开发的时候我们却大量的使用了libc,libc和内核开发出来的接口是如何衔接起来的呢?libc对kernel提供的接口是如何封装的?从用户层调用的libc如何映射到系统中断向量表中?glibc系列文章将逐一弄明白这写问题。磨刀不误砍柴功,首先从glibc说起。

    说明:对于glibc的介绍没有比GNU官方Web介绍更为简洁和明了的了。由于原文没有太难的英文词汇和复杂的语法,就不再翻译了。

    文章引用自GNU官网:http://www.gnu.org/software/libc/index.html

        Glibc的API开发手册和函数的详细说明: http://www.gnu.org/software/libc/manual/

    Overview

    Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and other basic facilities such as open, malloc, printf, exit...

    The GNU C Library is used as the C library in the GNU systems and most systems with the Linux kernel.

    Project Goals

    The GNU C Library is primarily designed to be aportable and high performance C library. It follows all relevant standards including ISO C11 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known.

    Current Status

    The current stable version of glibc is 2.17. See the NEWS file in the glibc sources for more information.

    Latest News

    2012-12-25: glibc 2.17 released.

    2012-06-30: glibc 2.16 released.

    2012-03-21: glibc 2.15 released.

    2011-06-07: glibc 2.14 released.

    2011-02-04: glibc 2.13 released.

    History

    The history of Unix and various standards determine much of the interface of the C library. In general the GNU C Library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.

    People

    The GNU C Library is currently maintained by a community of developers many of which are listed on the MAINTAINERS page of the project wiki.

    Many others have contributed in large amounts as documented in the glibc Contributors.

    Thank you to all who have contributed, either in bug reports, or by answering a question, your help is appreciated.


  • 相关阅读:
    数据库索引的作用和长处缺点
    ping不通的几种可能原因
    UVA
    strtok、strtok_s、strtok_r 字符串切割函数
    CheckBoxPreference组件
    EM算法原理
    Android中ExpandableListView控件基本使用
    拓扑排序的原理及事实上现
    DropdownList绑定的两种方法
    leetcode第一刷_Length of Last Word
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3188357.html
Copyright © 2011-2022 走看看