Linux系统编程 39 系统编程阶段前面说的话

Linux系统编程 39 -系统编程阶段前面说的话

学习笔记

系统调用

讲man page的时候说过

$man man

  1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous  (including  macro  packages  and  conventions), e.g.
           man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

1.命令
2.系统调用 (内核提供)
3.库调用


内核就是操作系统的核心程序
操作系统的本质是程序

内核提供的函数服务于上层应用
内核直接和硬件打交道

内核的函数数量有限
内核2.6版本   270多个函数
库函数 很庞大。


操作系统就是内核
限量 限权限的开放,保证系统的安全


$man 2 open

实际上内核源码没有open函数

open真正的系统调用是 sys_open
就是套了一个壳。


操作系统不希望被直接窥探到。所以做了一层封装
做了一层壳


所以严谨的称呼,不应该叫系统调用,应该叫系统函数


用户层
系统调用
内核(含硬件驱动程序)
硬件

我们编写的程序是用户级应用。
printf -》write (sys_write) ->驱动 -》显卡
只有系统调用,才会访问到内核


系统调用要学习下面两部分
1.操作系统的原理
2.函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值