前有操作系统接口一,本该有这篇文章的,但是毕竟关心细节的人很少。
要理解我觉得最好还是去读代码,或者把书多看几遍,因为这是枯燥的,难以理解的,在加上其他人不好的表达就更糟。其他学科也难以理解,你学过数学,物理,或者其他学科就知道了,好了再接着说。
文件描述符
读写的时候,关于buf的大小一般是512byte,因为磁盘每次都可以读入一个扇区,一般就是这么多的数据。buf的实现肯定是很有借鉴价值的,在读入数据和写出的时候如何更新,遇到结束时如何处理,read和write的返回值也作为判正确或者错误的依据,很多程序的实现都是这个德行。
管道
用来进行程序交互。
文件系统
文件系统是树型结构,从根开始,里面包含文件和目录,目录里面也可以有文件。目录也当做一种特殊文件,/a/b/c,c可以是目录或文件,文件可以包含指向的数据或者其他文件。路径有相对路径(c),不以/开头,会以当前进程的当前目录进行查找。
操作系统定义
我们自己怎么理解它的定义?从接口方面还是资源方面,还是对抽像的利用。
操作系统学习的难点显而易见,如果把这些概念设计成数据库中的表,也会构成一个复杂的系统。对于目前的web系统,我想这里面有很多借鉴的东西。
设计出好的程序,理解一些不懂的知识,也许就是我学习它的意义。从接口上可以分为用户接口和程序接口,在硬件上提供一个更好的功能集合,让上层的软件更容易开发和使用。
接口可以做一些,原本想不到的事情。反观很多团队内部使用的接口,设计的渣一样,没有经过测试,文档烂,代码恶心。学习开放的接口,看看优秀的做法,用好的实践,改进自己的困惑。
网友评论