软考中级软件设计师——操作系统
二、操作系统基本原理
一个操作系统包括:
- 进程管理
- 存储管理
- 文件管理
- 作业管理
- 设备管理
- 微内核操作系统
进程管理:
进程状态
- 就绪状态
- 运行状态
- 等待状态
前趋图
前趋图解决顺序约束关系
进程的同步与互斥
PV操作
临界资源
在某一个时间点,只允许一个对象操作
临界区
是一段代码,访问临界资源的代码片段就叫做临界区
信号量
一种特殊的信号量,专门使用在pv操作中,类似于Java中进制之间通信的管程法
PV操作就是对进程的一种管理
p操作:
执行某一个进程之前先将信号量s-1,若结果为负数则阻塞它,加入等待队列。否则正常执行
v操作:
执行某一个进程之前先将信号量s+1,若结果不为正数,则唤醒它,否则正常执行
PV操作结合前趋图
首先会给出前趋图,然后让你补全线程的pv操作。
死锁问题:
进程之间相互抱锁而等待对方的锁的问题,类似于Java的死锁
死锁产生的四种条件:
- 资源互斥(这个资源不共享)
- 保持和等待
- 不剥夺
- 进程之间形成回路
打破四种条件之一即可解除死锁
避免死锁问题的产生:
- 有序的资源分配
- 银行家算法
存储管理:
分区存储组织:
- 首次适应法
- 最佳适应法
- 最差适应法
- 循环首次适应法
页式存储组织:
页式存储就是将内存等大小的分成一个个块。然后将用户程序等大小的分成一个个的页,将需要用到页调入内存允许,运行完后调出。不需要用到的页不调入内存。这中间需要用到页表来映射页和内存块之间的联系
优点是:利用率高,碎片小,分配管理简单
缺点是增加了系统的开销,可能发生抖动现象
例题:
页面大小为4k可以计算到页面位数为2的12次方,12次方就是页内地址的位数。逻辑地址是页号+页内地址,物理地址是块号+页内地址。一个十六进制位对应4个二进制位,那么5A29的后三位就是页内地址。
淘汰页号要查找访问位位0的页面
段式存储:
段式存储不需要等大小划分,它是按照程序的函数需要的内存大小来划分内存块,允许各个块有不同大小
优点:多道程序共享内存,各程序修改相互不影响
缺点:内存利用率低,内存碎片浪费大
段页式存储:
快表
页面置换算法:
最优算法OPT
随机算法RAND
先进先出算法FIFO
产生抖动,淘汰最先进入内存的页面
最近最少使用LRU
不会产生抖动,淘汰最久没被访问的页面
淘汰算法例题:
首先明确一点,在考试中约定指令虽然跨两个页,但是我们只计报缺页一次。
首先完全执行这个指令,需要访问6个页面,而访问页面需要查表也就是一个页面需要访问内存2次,总共访问12次.
缺页就是内存如果没有调入页面,但是需要访问时就会报一次缺页。指令只报一次,操作数跨两个页面报两次,总共就是5次
文件管理:
索引文件结构:
例题:
首先,题目告诉我们0到4是直接索引那么这里就占了5个地址了,然后5号是一级索引大小为1kb每个地址项大小为4b。那么1kb/4b=256个地址项。加上前面的5个地址,就是261个,也就是说187号物理地址对应的是261的逻辑块号.101显而易见的是二级索引
文件和树形目录结构
绝对路径和相对路径
空闲存储空间的管理
将系统内存在的空闲内存区管理起来,方便之后的读和写的操作
- 空闲区表示法(空闲文件目录)
- 空闲链表法
- 位示图法
- 成组链接法
设备管理:
数据传输控制方式
- 程序控制方式
- 程序中断方式DMA方式
虚设备和SPOOLING
简单来说就是队列的应用,当外设在执行某项任务时,你向外设传递的任务将会进入队列等待执行,提高外设的使用效率
微内核操作系统
将操作系统的各个部分分离开,将最核心的部分做成内核,各个部分不会相互影响。
- 用户态
- 内核态
软考中级软件设计师——操作系统相关推荐
- 2022下半年软考-中级-软件设计师-过关经验
目录 1.重要内容 2.考情分析 3.视频笔记 1.重要内容 软考官网:中国计算机技术职业资格网 刷题:软考通app.软考真题app.软考刷题王(微信小程序).希赛网app. zst_2001软考中级 ...
- 全国软考中级软件设计师 复习大纲概览
本专栏记录学习复习软考中级软件设计师的内容,官方网站上有中级设计师的考试大纲和指导用书,官网链接:https://www.ruankao.org.cn 考试的难度总体来讲不是很大,但是设计的知识面非常 ...
- 一个非计算机专业的 软考中级 软件设计师考试之路
今天是2018年7月6日 在半个小时之前我查看了2018 年上半年的软考成绩 通过成功软考中级软件设计师的考试 费用总结 备考资料 150 报名费 140 食宿费 200 总计 490 500 块钱+ ...
- 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)
软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...
- 软考中级软件设计师 2009-2022年真题
** 整理了2009年到2022年 软考中级软件设计师的题目与参考答案 百度网盘分享 链接:https://pan.baidu.com/s/1f4Hfuw7lzgM4IZa-g1Wepg?pwd=50 ...
- 软考中级软件设计师难不难_为什么这么难处理设计师
软考中级软件设计师难不难 重点 (Top highlight) I have a confession to make. As a young Design 'pioneer' in many tec ...
- 软考中级--软件设计师
软考中级–软件设计师 数据库系统复习总结
- 软考中级(软件设计师)——计算机网络(5分)与信息安全(3分)
软考中级(软件设计师)--计算机网络(5分)与信息安全(3分) 目录 软考中级(软件设计师)--计算机网络(5分)与信息安全(3分) 计算机网络(5分) 开放系统互连参考模型(★★) TCP/IP协议 ...
- 软考中级(软件设计师)——数据库系统(上下午各占6-8分)
软考中级(软件设计师)--数据库系统(上下午各占6-8分) 目录 软考中级(软件设计师)--数据库系统(上下午各占6-8分) 数据库模式(★★) 三级模式 数据库设计过程 ER模型(★★★★★) 关系 ...
最新文章
- 一个简单的内核模块实现和使用
- 桌面虚拟化XenDesktop常见故障排查宝典
- 在ubuntu16.4中安装mysql_【Linux】Ubuntu16.04环境下MySQL的安装与使用
- 谁在为网易云音乐2亿用户的即时通讯保驾护航?
- 微服务Apache ServiceComb 数据一致性Saga演进介绍
- Spring boot mongodb
- bert 中文 代码 谷歌_如何用最强模型BERT做NLP迁移学习?
- 自然语言处理(2)-信息论基础
- html引入css webpack_深入剖析webpack——webpack 基础
- 阅读linux内核代码的工具-- Source Insight
- python返回对象_函数返回一个对象-python
- Hadoop环境搭建学习(1)
- 使用Python连接crossbar.io 报错 could not create serializer for “cbor“ (available: [‘json‘])
- 【论文阅读】PAIRWISE LINKAGE FOR POINT CLOUD SEGMENTATION-ISPRS-luxiaohu
- 在不停业务的情况下重启ES集群中的节点
- 科技岗位日趋增长,能成为女性职业选择的新可能吗?
- json转换格式错误
- 数值分析---Jacobi迭代法
- 安卓adb shell模式下创建文件夹出现Permission denied时的解决办法
- 数据类型-整型、浮点型、复数