美文网首页
Linux 内核管理命令和一些基本概念

Linux 内核管理命令和一些基本概念

作者: oasis_m | 来源:发表于2020-03-21 15:31 被阅读0次

    声明:所有文章只作为学习笔记用,转载非原创
    https://www.cnblogs.com/lidabo/p/4566663.html
    https://www.cnblogs.com/lh03061238/p/12215367.html
    https://blog.csdn.net/changexhao/article/details/78321295

    glibc库详解及与POSIX,system V这些库之间关系的说明]

    glibc,他是linux最底层的api,他包括了很多的规范,比如system V,ISO C,和POSIX 。其他的函数库,都是在调用glibc的基础上进行各种扩展,如X库等。
    linux c 常用API https://blog.csdn.net/qq_33575901/article/details/80958353

    Linux内核管理
    (1)Linux系统的组成部分是内核+根文件系统。内核负责进程管理、内存管理、网络协议栈、文件系统、驱动程序和安全功能。 运行中的系统环境可分为两层:内核空间(系统空间、系统模式)、用户空间(用户模式)。用户空间运行的是应用程序(进程或线程),内核空间运行的是内核代码(系统调用)。 
    
    (2)内核设计流派 
    1)单内核设计:把所有功能集成于同一个程序,如Linux系统,但充分借鉴了微内核体系的设计的优点,为内核引入了模块化机制。
     2)微内核设计:每种功能使用一个单独的子系统实现,如Windows系统Solaris系统。 
    
    (3)Linux内核特点 
    1)支持模块化: .ko (kernel object) 
    2)支持模块运行时动态装载或卸载。 Linux的对象类文件有两种:.ko(kernel object,内核对象)[和.so](http://xn--0tr.so/)(shared object,共享对象,供各种应用程序之间共享的功能模块)。 
    
    (4)内核的组成部分 
    1)核心文件:内核核心,一般为bzImage,通常位于/boot目录,名称为/boot/vmlinuz-VERSION-release,其中VERSION是内核版本号,release是本地版本号,制作和编译内核的人加上的版本号。 编译内核时,[ ]:N,表示不要此内核模块,[M]:Module,表示编译成模块,[*]:Y,表示编译进内核核心,内核支持模块的动态装载和卸载。 
    
    2)ramdisk:把内存中某一块空间作为磁盘用,用于实现系统初始化的、基于内存的磁盘设备。辅助性文件,并非必须,这取决于内核是否能直接驱动rootfs所在的设备:a) 目标设备驱动,例如SCSI设备的驱动;b) 逻辑设备驱动,例如LVM设备的驱动;c) 文件系统,例如xfs文件系统。ramdisk是一个简装版的根文件系统。CentOS 5,6,7中的ramdisk: CentOS 5:/boot/initrd-VERSION-release.img CentOS 6,7:/boot/initramfs-VERSION-release.img (由initrd替换成initramfs的原因是避免双缓冲和双缓存,从而达到提速启动的目的)
     3)模块文件:/lib/modules/VERSION-release 如果安装了多个内核版本,在/lib/modules目录下将有多个内核文件目录。 
    4)kernel object:内核对象,即内核模块,一般放置于/lib/modules/VERSION-release/。内核模块与内核核心版本一定要严格匹配。
    
    
    glibc与glib libc
     https://blog.csdn.net/t146lla128xx0x/article/details/81267496 
    
      glibc 是gnu发布的libc库,也即c运行库。
      glibc是linux系统中最底层的api(应用程序开发接口),
      几乎其它任何的运行库都会依赖于glibc。
      glibc除了封装linux操作系统所提供的系统服务外,
      它本身也提供了许多其它一些必要功能服务的实现,主要的如下:
    
      (1)string,字符串处理
      (2)signal,信号处理
      (3)dlfcn,管理共享库的动态加载
      (4)direct,文件目录操作
      (5)elf,共享库的动态加载器,也即interpreter
      (6)iconv,不同字符集的编码转换
      (7)inet,socket接口的实现
      (8)intl,国际化,也即gettext的实现
      (9)io
      (10)linuxthreads
      (11)locale,本地化
      (12)login,虚拟终端设备的管理,及系统的安全访问
      (13)malloc,动态内存的分配与管理
      (14)nis
      (15)stdlib,其它基本功能
    
    这是 glibc 的主体,分布 /lib 与 /usr/lib 中,包括 libc 标准 C 函式库、libm 数学函式库、libcrypt加密与编码函式库、libdb 资料库函式库、libpthread行程多执行绪函式库、libnss 网路服务函式库等等。这些都是可分享函式库,档名都以 .so 做结尾
    

    相关文章

      网友评论

          本文标题:Linux 内核管理命令和一些基本概念

          本文链接:https://www.haomeiwen.com/subject/kinyyhtx.html