《深入Linux内核》 UNIX的一些故事

简介:

Unix文件的类型
1.普通文件
2.目录
3.符号链接
4.面向块的设备文件
5.面向字符的设备文件
6.管道和命名管道
7.套接字

点评:不明觉厉

打开文件
进程只能访问“打开的”文件。为了打开一个文件,进程调用
fd = open(path,flag,mode)
path表示被打开的文件的路径。
flag表示打开的方式,它也指定是否应当创建一个不存在的文件。
mode指定新创建文件的访问权限。

关闭文件
当进程无需再访问文件的内容时,就调用系统调用:
res = close(fd)

更名及删除文件
要重新命名或删除一个文件时,进程不需要打开它。这样的操作并没有对这个文件的内容起作用,而是对一个或多个目录的内容起作用。
res = rename(oldpath,newpath)
改变了文件链接的名字,而系统调用:
res = unlink(pathname)
减少了文件的链接数,删除了相应的目录项。只有当链接数为0时,文件才被真正删除。

虚拟内存的优点
若干个进程可以并发地执行。
应用程序所需内存大于可用物理内存时也可以运行。
程序只有部分代码装入内存时进程可以执行它。
允许每个进程访问可用物理内存的子集。
进程可以共享库函数或程序的一个单独内存映像。
程序可以编写与机器无关的代码,因为他们不必关心有关物理内存的组织结构。


进程虚拟地址空间处理
内核分配给进程的虚拟地址空间由以下内存区组成:
程序的可执行代码
程序的初始化数据
程序的未初始化数据
初始程序栈
共享库的可执行代码和数据
堆(由程序动态请求的内存)


设备驱动程序
通过特定的接口,每个驱动程序与内核中的其余部分相互作用
优点如下:
可以把特定设备的代码封装在特定的模块中。
厂商可以在不了解内核源码而只知道接口规范的情况下,就能增加新的设备。
内核以统一的方式对待所有的设备,并且通过相同的接口访问这些设备。
可以把设备驱动程序写成模块,并动态地把它们装进内核而不需要重新启动系统。不再需要时,亦可以动态地卸下模块。

小结:

通过阅读,感觉系统内部的奥秘蛮好玩的,能够更深刻的认识linux系统的原理,以及windows系统。都是相通的!!!由表及里的研究!!!



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/3182814.html,如需转载请自行联系原作者

相关文章
|
1天前
|
Linux Windows 编译器
|
3天前
|
存储 算法 Linux
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
【Linux】线程的内核级理解&&详谈页表以及虚拟地址到物理地址之间的转化
|
3天前
|
安全 Linux
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
【Linux】详解用户态和内核态&&内核中信号被处理的时机&&sigaction信号自定义处理方法
|
3天前
|
存储 Linux
【Linux】对信号产生的内核级理解
【Linux】对信号产生的内核级理解
|
3天前
|
消息中间件 算法 Linux
【Linux】对system V本地通信的内核级理解
【Linux】对system V本地通信的内核级理解
|
3天前
|
Linux 编译器 调度
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
本文介绍了如何将POSIX应用程序编译为在Xenomai实时内核上运行的程序。
19 1
xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
|
3天前
|
算法 Linux 调度
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
9 1
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程
|
3天前
|
Linux 调度 数据库
|
3天前
|
存储 缓存 Linux
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
本文介绍了Xenomai中的XDDP(Xenomai Distributed Data Protocol)通信机制,XDDP用于实时和非实时进程之间的数据交换。XDDP在Xenomai内核中涉及的数据结构和管理方式,以及创建XDDP通道后的实时端和非实时端连接过程。
8 0
xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(三)--实时与非实时数据交互
|
4天前
|
缓存 安全 网络协议
Linux内核详解,什么是linux内核?
Linux内核详解,什么是linux内核?
14 0