linux系统编程第一章
来源:互联网 发布:js 数组长度限制 编辑:程序博客网 时间:2024/05/01 14:59
LINUX系统编程,学一下这本书,今天,2015年10月2日,要把这本书看懂,并把要点总结在这篇博客里。
1章
系统软件基于内核,c库实现
3大基石:系统调用,c库,c编译器
调用系统调用,执行内核允许的代码
应用程序用寄存器告诉系统调用哪个系统调用,每个系统调用一个编号。参数也在寄存器中,多的话用一个寄存器指向存储参数的用户空间。
glibc
一切皆文件
内核使用文件描述符,元数据到文件的映射。
写文件是覆盖的,不要顾虑。
文件末尾后追加,中间变0
linux中文件位置符64位
系统为每个打开的文件实例弄一个文件描述符
索引节点与文件关联,在本文件系统中是唯一的,在系统眼里,inode就是文件
链接:文件名--》inode
目录使用文件储存的,目录也有关联的索引节点,这地方不太懂?估计是软链接的集合。
搜索目录的时候是一个索引节点链接到另一个索引节点
目录不同于普通文件,不支持普通操作。
索引节点有链接计数,如果为0就删除文件,软链接算不算链接计数?对,软链接不影响链接计数
软链接跨文件系统,实现快捷方式
字符设备文件,块设备文件:磁盘,设备驱动吧字节映射到可寻址的设备上
fifo特殊文件,命名管道,一个进程的输出是另一个进程的输入
套接字进程间通信
linux系统命名空间是全局的
添加删除文件系统,挂载和卸载,挂载到命名空间的某个位置,哦,在命名空间中找个位置叫挂载
第一个挂载的是根文件系统
内存中的虚拟文件系统
块设备用扇区《文件系统块《内存页
进程关联的系统资源由内核管理
bss段描写不太懂?
linux内核实现了独特的线程模型:可共享某些资源的进程。
用户空间内使用glibc库
进程树,第一个进程是init,如果子进程先死,其父进程是init
僵尸进程?一个数据结构:进程号,运行时间,退出状态。占用进程号,可能造成别的进程没号了。
pid全局唯一
运行的进程对应一个uid
uid是用户标识,/etc/passwd中用户名映射到uid
用户登录后,uid就是shell进程的uid,子进程继承父进程uid。好,连起来了。
root的uid为0
组?
权限:所有者,所有组,其他人,读写执行,在inode中储存
特殊文件忽略执行权限
目录读是列出,写是添加链接,执行?
- linux系统编程第一章
- linux编程学习-第一章
- 第一章 Linux系统概述
- 第一章-Linux系统安装
- 第一章 Linux系统简介
- 第一章 Linux系统入门
- 读书笔记-UNIX系统编程第一章
- 第一章Linux标准IO编程
- 学习笔记《实战Linux Socket编程》第一章
- Linux Socket 网络编程 (IBM网站)第一章
- 第一章 linux C语言编程基础
- Linux C编程一站式学习第一章
- 《Linux多线程服务端编程》学习笔记---第一章
- linux编程手册读书笔记第一章(20140329)
- 嵌入式Linux系统设计--第一章:绪论
- 《Linux内核编程》第一章:Linux内核模块间通信
- IME输入法编程:第一章 Windows9x系统下汉字输入法的基本原理
- Unix系统编程第一章:缓冲区溢出的后果
- Codeforces Round #269 (Div. 2) D题 MUH and Cube Walls(KMP)
- 用R软件绘制中国分省市地图
- 三极管的基极电流究竟做了什么?
- Java中Runnable和Thread的区别
- c++运算符重载
- linux系统编程第一章
- BitTorrent协议小结
- JVM内存模型及垃圾收集策略解析(1)
- 无所谓的事情
- Win10和他的老兄弟们
- 玩的第一个黑客小游戏,isa test
- c语言对数组名取地址
- JVM内存模型及垃圾收集策略解析
- 模拟电路试题