操作系统
1
live4m
老菜逼了
展开
-
死锁
产生死锁的四个必要条件:1.互斥:资源任意时刻只有一个进程能占用。2.请求与保持:进程因请求资源而阻塞时,对自己已有的其他资源保持不放。3.不剥夺:进程已获得的资源不能被其他进程强行剥夺,只能等到使用完毕后自己释放。4.循环等待:进程之间形成了资源的循环等待情况。如何避免死锁:1.破坏互斥:没办法破坏。2.破坏请求与保持:一次性申请所有资源。3.破坏不剥夺条件:申请不到资源的时候,释放自己已有资源。4.破坏循环等待条件:按序申请资源,同时逆序释放资源。...原创 2021-02-19 08:35:08 · 108 阅读 · 0 评论 -
操作系统:并发和并行
并发:宏观上两个程序同时运行,微观上两个程序交叉运行。宏观上并行,微观上串行。这种并发不能提高计算机性能,只能提高效率。如单核CPU上的多任务。并行:严格意义的同时运行。并行提高了计算机的效率。如多核CPU同时运行多个程序。...原创 2021-02-13 21:20:25 · 274 阅读 · 0 评论 -
操作系统:缺页中断
缺页中断:malloc()等内存分配函数,分配时只是建立了进程的虚拟地址空间,并没有分配对应的物理内存(没有建立虚拟内存与物理内存的映射关系)。当进程访问这些没有建立映射关系的虚拟内存时,处理器会触发缺页异常。在请求分页系统中,通过查询页表中的状态位可以确定要访问的页是否在内存中。每当要访问的页不在内存中时,就会引发缺页中断,此时操作系统会根据页表的外存地址到外存中找到所缺的页调入内存。与一般中断的异同:缺页中断与一般中断一样都需要经过4个处理步骤:1.保护CPU现场2.分析中断原因3.转原创 2021-02-13 21:06:58 · 2645 阅读 · 0 评论 -
操作系统:虚拟内存
虚拟内存:局部性原理:虚拟存储器:虚拟内存如何实现:页面置换算法:原创 2021-02-12 16:17:27 · 693 阅读 · 1 评论 -
操作系统:内存管理基础
内存管理是做什么的:OS的内存管理主要负责内存的分配和回收(malloc、free),同时地址转换等功能也由OS内存管理来做。常见内存管理机制:连续性分配管理方式:块式管理。非连续性分配管理方式:页式管理、段式管理、段页式管理。1.块式管理将内存分为几个固定大小的块,每个块只包含一个进程。当程序运行需要内存时,就分配给它一块。这种分配方式非常容易出现内存碎片。2.页式管理将内存分为大小相等的一页一页的形式,每一页的大小较小(比块小),相比于块式存储提高了内存利用率,减少了内存碎片。页.原创 2021-02-12 01:25:23 · 387 阅读 · 0 评论 -
操作系统:进程和线程
进程和线程的基本概念:进程是对运行时程序的封装,是系统资源调度和分配的基本单位,实现了操作系统的并发。线程是进程的子任务,是CPU调度和分配的基本单位,用于保证程序的实时性,实现进程内部的并发。线程是操作系统可识别的最小执行和调度单位。每个线程占用一个虚拟处理器,有独自的寄存器组,指令计数器和处理器状态。每个线程完成不同的任务,但共享同一地址空间、打开的文件队列、其他内核资源。进程和线程的区别:1.线程是进程划分出的更小运行单位,一个进程在执行过程中可以产生很多个线程,线程依赖于进程存在。线原创 2021-02-09 01:09:00 · 212 阅读 · 0 评论 -
操作系统:基础概念
什么是操作系统(OS):1.OS是管理计算机硬件和软件资源的程序,是计算机系统的内核与基石。2.OS需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。3.OS为用户提供与系统交互的操作界面。什么是系统调用:前置知识:用户态与核心态:根据进程访问资源的特点,进程在系统上的运行可以分为两类:用户态、核心态:1.用户态运行的程序可以读取用户程序的数据。2.核心态运行的程序几乎可以访问任何资源。系统调用:用户运行的程序基本都运行在用户态.原创 2021-02-08 21:51:43 · 115 阅读 · 0 评论