OS内核以及进程间通信方式IPC

本文详细介绍了操作系统的内核概念及其工作原理,包括管理进程、内存和硬件设备的功能,以及用户态和内核态的切换。此外,还深入讲解了进程间通信(IPC)的各种方式,如管道、消息队列、共享内存、信号量、信号和socket,分析了各自的优缺点和应用场景。
摘要由CSDN通过智能技术生成

一、内核

1. 概念

计算机由各种外部硬件设备组成,如内存,cpu,硬盘等。如果每个程序要访问某个硬件,那它必须知道如何和这个硬件设备对接通信协议,那这样太麻烦了,因此这项工作交给了中间人-内核来负责,应用程序只需关心与内核交互,无需关心硬件细节

2. 内核的功能
  • 管理进程、线程,决定哪个进程,线程使用cpu,即cpu调度能力
  • 决定内存的分配和回收,即内存管理能力
  • 管理硬件设备,为进程和硬件设备之间提供通信能力,即硬件通信能力
  • 提供系统调用,如果应用程序要运行更高权限运行的服务,就需要有系统调用,它是用户程序与操作系统之间的接口
3. 内核如何工作

早期OS中,程序员设计代码直接访问硬件,以改进应用程序总体性能,这种方式可以使硬件快速响应,但是存在严重缺陷:

  • 通常需要内存以直接管理硬件,如果编程使用的内存块与被其他硬件或操作系统使用的内存块相冲突,涉及的硬件设备可能会变得不稳定,或者操作系统可能奔溃
  • 直接访问硬件设备将使系统更容易受到恶意软件破坏,如可能导致损坏磁盘或者磁盘文件 因此后面通过划分开用户程序工作内存与OS工作内存的方式避免上面的问题

内核具有很大的权限,可以控制 cpu、内存、硬盘等硬件,应用程序具有的权限很小,因此大多数操作系统,把内存分成了两个区域:

  • 内核空间:该内存空间只有内核程序可以访问
  • 用户空间:该内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值