UNIX内核概述-进程/内核模式

cpu既可以运行在用户态下,也可以运行在内核态。当一个程序在用户态执行时,它不能直接访问内核数据结构或内核的程序。每种CPU模型都提供了从用户态到内核态的转换的特殊指令,反之亦然。一个程序运行时,大部分时间都处于用户态,只有需要内核所提供的服务时才切换到内核态。当内核满足了程序的请求后,它让程序切换到用户态。

内核本身并不是一个进程,而是进程管理者。进程/内核模式假定:请求内核服务的进程使用所谓系统调用的特殊编程机制,每个系统调用都设置了一组识别进程请求的参数,然后执行与硬件相关的cpu指令完成从用户态到内核态的切换。除了用户进程之外,unix系统还包括几个所谓内核线程的特权进程,它们具有以下特点:

1、它们以内核态运行在内核地址空间

2、它们不与用户直接交互,因此不需要终端设备。

3、它们通常在系统启动时创建,然后一直处于活跃状态,直到系统关闭

激活内核例程的几种方式:

1、进程调用系统调用

2、正在执行进程的cpu发出一个异常信号,内核捕捉到信号,并进入异常处理

3、外围设备向cpu发出一个终端信号以通知一个事件的发生,如一个要求注意的请求、一个状态的变化或一个I/O的完成等。每个中断信号都由内核的中断处理程序来处理。外围设备和cpu异步操作,因此,中断在不可预知的时间发生。

4、内核线程被执行。因为内核线程运行在内核态,因此必须认为其相应程序是内核的一部分。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值