Readme
发表于|更新于|操作系统
|总字数:285|阅读时长:1分钟|浏览量:
操作系统
- 0 概述
- 1 操作系统引论
- 2 进程管理
- 2.1 进程的基本概念
- 2.2 进程控制
- 2.3 进程同步
- 2.4 进程通信
- 2.5 进程与线程
- 2.6 协程
- 3 处理机管理
- 4 内存管理
- 4.1 层次结构与装入链接
- 4.2 连续存储管理
- 4.3 分页存储管理
- 4.4 分段存储管理
- 4.5 虚拟存储器
- 5 设备IO管理
- 5.1 Linux IO模型
- 5.2 Windows IO模型
- 5.3 IO多路复用模型
- 5.4 IO多路复用与线程进程
- 5.5 IO多路复用与回调函数
- 6 文件系统
- 7 操作系统接口
- 附录1 课后习题答案
- 附录10 动态内存的原理
- 附录12 并发编程
- 附录13 网络编程
- 附录2 操作系统总结
- 附录3 互斥量、信号量、条件变量
- 附录4 寄存器
- 附录5 协程
- 附录6 中断
- 附录7 模式切换与进程切换
- 附录8 同步异步、阻塞非阻塞
- 附录9 网络编程和web开发
- 面试问题整理
文章作者: Estom
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
相关推荐

2021-03-30
2.3 进程同步
2.3 进程同步1 进程同步的基本概念 进程同步指的是同步和互斥两种行为。 两种制约关系 针对两种制约关系,合作制约关系和互斥制约关系,需要通过同步机制实现。 直接制约关系(合作)。由于多个进程相互合作产生,使得进程有一定的先后执行关系。 间接制约关系(互斥)。由于多个进程资源共享产生,多个进程在同一时刻只有一个进程能进入临界区。 显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。也就是说互斥是两个任务之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!因此互斥具有唯一性和排它性,但互斥并不限制任务的运行顺序,即任务是无序的,而同步的任务之间则有顺序关系。 临界资源和临界区 共享的互斥资源称为临界资源。 对临界资源进行访问的那段代码称为临界区。 为了互斥访问临界资源,每个进程在进入临界区之前,需要先进行检查。 12345repeat entry section critical section;//临界区 exit sectio...

2021-12-24
arp
arparp 命令用于显示和修改 IP 到 MAC 转换表 补充说明arp 命令 是 Address Resolution Protocol,地址解析协议,是通过解析网络层地址来找寻数据链路层地址的一个网络协议包中极其重要的网络传输协议。而该命令可以显示和修改 arp 协议解析表中的缓冲数据。 这个核心协议模块实现RFC826中定义的 Address Resolution Protocol [译注:即TCP/IP的第三层到第一层的地址转换协议],用于在直接相连的网络中换第二层硬件地址和 Ipv4 协议地址之间的转换。 用户除非想对其进行配置,否则一般不会直接操作这个模块。 实际上,它提供对核心中其它协议的服务。 用户进程可以使用 packet(7) 的 sockets,收到 ARP 包(译注:一译分组)。 还有一种机制是使用 netlink(7) sockets,在用户空间管理 ARP 缓存的机制。我们也可以通过 ioctl (2) 控制任意 PF_INET socket上的 ARP 表 ARP 模块维护一个硬件地址到协议地址映射的缓存。这个缓存有大小限制,所以不常用的...

2021-04-08
Linux
Linux Linux 前言 一、常用操作以及概念 快捷键 求助 关机 PATH sudo 包管理工具 发行版 VIM 三个模式 GNU 开源协议 二、磁盘 磁盘接口 磁盘的文件名 三、分区 分区表 开机检测程序 四、文件系统 分区与文件系统 组成 文件读取 磁盘碎片 block inode 目录 日志 挂载 目录配置 五、文件 文件属性 文件与目录的基本操作 修改权限 默认权限 目录的权限 链接 获取文件内容 指令与文件搜索 六、压缩与打包 压缩文件名 压缩指令 打包 七、Bash 特性 变量操作 指令搜索顺序 数据流重定向 八、管道指令 提取指令 排序指令 双向输出重定向 字符转换指令 分区指令 九、正则表达式 grep printf awk 十、进程管理 查看进程 进程状态 SIGCHLD wait() waitpid() 孤儿进程 僵尸进程 参考资料 前言为了便于理解,本文从常用操作和概念开始讲起。虽然已经尽量做到简化,但是涉及到的内容还是有点多。在面试中,Linux 知识点相对于网络和操作系统等知识点而言不是那么重要...

2021-03-29
5 设备IO管理
设备管理 目录 IO系统 IO控制方式 缓冲管理 IO软件 设备分配 磁盘存储器管理 1.1 IO系统定义 IO设备。用于计算机系统与外部世界进行信息交换或存储。 IO操作。内存和IO设备之间的信息传送操作。不仅影响计算机的通用性和可扩充性,也是计算机系统综合处理能力及性价比的重要因素。 分类 按信息传输方向划分 输入设备:将外界信息输入计算机(键盘、鼠标、扫描仪等) 输出设备:将计算结果输出(显示器、打印机等) 输入输出设备:既可以输入信息,也可以输出信息(磁盘驱动器、网卡等) 按交互功能划分 人机交互设别:用于用户与计算机之间的交互通信(鼠标、键盘、显示器等) 存储设备:持久性存储大量信息并快速检索(磁盘驱动器、光盘驱动器等) 机机通信设备:用于计算机和计算机之间的通信(网卡、调制解调器等) 按设备管理划分 字符设备:以字符为单位进行信息交换,发送或接收一个字符流(鼠标、显示器等) 块设备:以固定大小的数据块(块是存储介质上联系信息组成的一个区域)进行信息交换(磁盘驱动器等) 网络设备:用于与远程设备通信的设备(网卡等,可以抽象为传送字符流的特殊字符设备,也可以...

2021-09-07
3.2-chinese
3.2 使用互斥量保护共享数据当程序中有共享数据,肯定不想让其陷入条件竞争,或是不变量被破坏。那么,将所有访问共享数据结构的代码都标记为互斥岂不是更好?这样任何一个线程在执行这些代码时,其他任何线程试图访问共享数据结构,就必须等到那一段代码执行结束。于是,一个线程就不可能会看到被破坏的不变量,除非它本身就是修改共享数据的线程。 当访问共享数据前,使用互斥量将相关数据锁住,再当访问结束后,再将数据解锁。线程库需要保证,当一个线程使用特定互斥量锁住共享数据时,其他的线程想要访问锁住的数据,都必须等到之前那个线程对数据进行解锁后,才能进行访问。这就保证了所有线程能看到共享数据,而不破坏不变量。 互斥量是C++中一种最通用的数据保护机制,但它不是“银弹”;精心组织代码来保护正确的数据(见3.2.2节),并在接口内部避免竞争条件(见3.2.3节)是非常重要的。但互斥量自身也有问题,也会造成死锁(见3.2.4节),或是对数据保护的太多(或太少)(见3.2.8节)。 3.2.1 C++中使用互斥量C++中通过实例化std::mutex创建互斥量,通过调用成员函数lock()进行上锁,unloc...

2021-12-24
umount
umount用于卸载已经加载的文件系统 补充说明umount命令 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。 语法1umount(选项)(参数) 选项1234567-a:卸除/etc/mtab中记录的所有文件系统;-h:显示帮助;-n:卸除时不要将信息存入/etc/mtab文件中;-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;-t<文件系统类型>:仅卸除选项中所指定的文件系统;-v:执行时显示详细的信息;-V:显示版本信息。 参数文件系统:指定要卸载的文件系统或者其对应的设备文件名。 实例下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息: 通过设备名卸载 12umount -v /dev/sda1/dev/sda1 umounted 通过挂载点卸载 12umount -v /mnt/mymount//tmp/diskboot.img umounted 如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前...
公告
欢迎参观Estom的小屋




