进程与内存管理实例

Linux

1.Linux的三个接口
  • 系统调用接口
    ---- 用户在程序中调用OS提供的一些功能,用户程序通过系统调用由用户态切换到核心态
  • 库接口
    ---- 标准库函数,便于程序员调用OS
  • 命令借口
    ---- OS和计算机用户之间的双向通信机制
2.系统调用
  • 用户在程序中调用OS所提供的一些功能;系统调用是用户请求OS服务的途径。
  • 系统调用本身也是由若干指令构成的过程(函数),但与一般过程的区别在于:系统调用运行在核心态、一般过程运行在用户态
  • 系统通过执行一条陷入指令(或称访管指令),由用户态切换到核心态,转入执行相应的处理程序。
  • 调用前保护现场,调用后恢复现场
  • 系统调用分为两大类:系统自身需要的、作为服务提供给用户的。有进程管理系统调用;内存管理系统调用;文件和目录管理系统调用;I/O设备管理系统调用
3.用户态和核心态
  • 进程执行的两个级别,核心是为用户进程运行的。
  • 用户态下的进程只能存取自己的指令和数据,不能执行特权指令
  • 核心态下的进程可以访问OS核心和用户进程的地址空间
  • 用户程序通过系统调用由用户态切换到核心态
4.Shell的功能
  • Linux的命令解释器
5.进程创建与执行:fork(),exec()
  • fork():pid = fork():创建子进程。,父进程返回子进程id;子进程返回0
  • exec():执行一个文件的调用
6.进程调度时机
  • 进程主动放弃CPU
  • 进程从核心态返回到用户态之前
7.进程同步与通信机制
  • 信号(Signal):软件层次上对中断的一种模拟,又称软中断。
    ------ 信号和中断的区别:中断有优先级,信号没有优先级;信号处理程序运行在用户态、中断运行在核心态;中断响应及时,信号响应通常有较大延时。
  • 管道(pipe):连接一个写进程和读进程的pipe文件
    ------ 无名管道:一个临时文件,用于进程及其子进程之间的通信;有名管道:具有路径名的文件,可用于任何进程之间的通信。
  • 消息队列,每个消息队列有一个key
  • 共享内存,key为唯一标识
  • 信号量

Windows 2000/xp

线程优先级提升的思想:
  • 在以下情况下,线程优先级会提升;
    ------ I/O操作完成
    ------ 信号量或事件等待结束
    ------ 前台进程中的线程完成一个等待操作
    ------ 由于窗口活动而唤醒图形用户接口线程
    ------ 线程处于就绪状态超过一定时间,但没能进入运行状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值