每个系统的系统调用大致都差不多.具体有多少个可能有差别.........在内核里系统调用是按编号来添加的...........具体怎么添加可以看{@深入理解linux内核}中关于系统调用的相关部分.........具体要知道一个系统有多少调用需要看每个系统类型的内核文件.........具体哪个文件@里说的很清楚......
实际上linux系统调用处理过程还是比较简单的...........添加一个系统调用对内核来说实际就是添加了一个内核函数.然后这个函数映射到了用户层就是系统调用.用户调用这个系统调用的时候.会由软中断机制触发内核.使用户陷入内核态执行相关的内核函数............执行结果再一层层返回给用户.............大概就是这个过程........详细的可以参考@
Linux下对文件 *** 作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api...printf会调用write系统调用以进行输出 *** 作malloc会调用sbrk系统调用以进行分配内存 *** 作
unix系统提供了大约50个系统调用
4.3+BSD系统大概提供了110个
SVR4系统提供了约120个
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)