日期:2014-05-16  浏览次数:20857 次

《Linux Kernel Development》chapter 1 Introduction to Linux Kernel

Introduction to Linux Kernel




谈Linux基本上都会先扯一扯Unix,都懂的。。。

第一章主要是很基础的铺垫。。。但是还是留点什么吧,所谓笔记



Unix is simple:

Whereas some operating systems implement thousands of system calls and  have unclear design goals, Unix systems implement only hundreds of system calls and  have a straightforward, even basic, design. 


Second, in Unix, everything is a file .This simpliy-fies the manipulation of data and devices into a set of core system calls: open() ,  read() , write(),  lseek(), and close().


Third, the Unix kernel and related system utilities arewritten in C—a property that gives Unix its amazing portability to diverse hardware  architectures and accessibility to a wide range of developers. 


Fourth, Unix has fast process creation time and the unique  fork() system call. 


Finally, Unix provides simple yet robust interprocess communication (IPC) primitives that, when coupled with the fast process creation time, enable the creation of simple programs that  do one thing and do it well .


These single-purpose programs can be strung together to accomplish tasks of increasing complexity. Unix systems thus exhibit clean layering, with a strong separation between policy and mechanism.


Well, okay, not everything—but much is represented as a file. Sockets are a notable exception. Some 
recent efforts, such as Unix’s successor at Bell Labs, Plan9, implement nearly all aspects of the system 
as a file.


书上有上面这么一段话,socket在Unix里面是不是文件我不知道,但是在linux里面一定是了。。。

http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html

同样可以看

http://blog.csdn.net/cinmyheart/article/details/21740279

文件类型的那一小节



Applications running on the system communicate with the kernel via  system calls  




        When an application executes a system call, we say that the kernel is