搞定操作系统面试,看这篇就够了(一)
一、概述
基本特征
1. 并发
并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。
并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。
操作系统通过引入进程和线程,使得程序能够并发运行。
2. 共享
共享是指系统中的资源可以被多个并发进程共同使用。
有两种共享方式:互斥共享和同时共享。
互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。
3. 虚拟
虚拟技术把一个物理实体转换为多个逻辑实体。
主要有两种虚拟技术:时分复用技术和空分复用技术。
多个进程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切换。
虚拟内存使用了空分复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OSS-Android SDK 搭建总结
背景 很多小伙伴对 Android 的 SDK 搭建熟悉,但是对于上云的 OSS Android SDK 使用有些一门疑问,今天从环境搭建到客户端使用全面给大家梳理一遍个人的使用总结; 分解 下载jdk和Android studio 安装jdk 配置环境变量 安装Android Studio 配置Android Studio 下载工具 JDK Android Studio 安装 JDK 典型下一步的操作 环境变量配置 JAVA_HOME 编辑Path CLASSPATH变量 测试环境变量是否配置成功 “开始” -》 输入 -》 “cmd” 打开命令行窗口输入 javac 安装 Android Studio 建议典型安装,如果不是很懂安装过程,不要建议更改配置 上面是 Android Studio的安装目录 下面是sdk的目录,自行选择即可; Android Studio配置
- 下一篇
搞定操作系统面试,看这篇就够了(二)
三、死锁 必要条件 image 互斥:每个资源要么已经分配给了一个进程,要么就是可用的。 占有和等待:已经得到了某个资源的进程可以再请求新的资源。 不可抢占:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。 环路等待:有两个或者两个以上的进程组成一条环路,该环路中的每个进程都在等待下一个进程所占有的资源。 处理方法 主要有以下四种方法: 鸵鸟策略 死锁检测与死锁恢复 死锁预防 死锁避免 鸵鸟策略 把头埋在沙子里,假装根本没发生问题。 因为解决死锁问题的代价很高,因此鸵鸟策略这种不采取任务措施的方案会获得更高的性能。 当发生死锁时不会对用户造成多大影响,或发生死锁的概率很低,可以采用鸵鸟策略。 大多数操作系统,包括 Unix,Linux 和 Windows,处理死锁问题的办法仅仅是忽略它。 死锁检测与死锁恢复 不试图阻止死锁,而是当检测到死锁发生时,采取措施进行恢复。 1. 每种类型一个资源的死锁检测 image 上图为资源分配图,其中方框表示资源,圆圈表示进程。资源指向进程表示该资源已经分配给该进程,进程指向资源表示进程请求获取该资源。 图 a 可以抽取出环...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案