-
用户与硬件的接口
-
资源管理者
-
扩充机器(虚拟机)
1.3.1、用户与硬件的接口
命令方式:用户通过输入有关命令来取得操作系统的服务,并控制用户程序的运行。
-
联机命令(交互式命令):一句一句执行命令
-
脱机命令(批处理命令):一般我们新建txt,然后写入代码,后缀名为.bat,执行此文件就是批处理命令。
系统调用方式:OS提供了一组系统调用(函数),用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通信,并取得它的服务
图形、窗口方式:它允许用户通过屏幕上的窗口和图标来实现与操作系统的通信并取得它的服务。
1.3.2、资源管理者
处理机管理:用于分配和控制处理机。
存储器管理:主要负责内存的分配和回收。
I/O设备管理:负责I/O设备的分配和操纵。
文件管理:负责文件的存取、共享和保护。
1.3.3、扩充机器(虚拟机)
同样一台机器,因为覆盖了不同的软件,表现出了不同的功能。但是机器只有一台,但是功能是虚拟出来的,称之为虚拟机。或者说这些功能是扩充出来的,称为扩充机器。
其实就是在操作系统之上又装了其他软件。
轻发展重分类🔥
- 手工操作(无操作系统)
缺点:
(1).用户独占全机
(2).CPU等待人工操作
-
批处理系统(操作系统开始出现):没有交互的,一次性执行大量命令
-
单道批处理系统
特点:自动性、顺序性、单道性
缺点:I/O操作时,CPU无事可做
- 多道批处理系统
特点:多道性、宏观上多任务并行、微观上多任务分片串行
优点:由于提高了CPU、内存和I/O设备的利用率,因此系统的吞吐量得到提高
需要解决的问题:处理机管理问题、内存管理问题、I/O设备管理问题、文件管理问题和作业管理问题。
缺点:无交互能力
- 分时系统
特点:多路性、独立性、及时性和交互性
- 实时系统
特点:多路性、独立性、及时性、交互性和可靠性
- 微机操作系统
单用户单任务系统、单用户多任务系统和多用户多任务系统
- 在单处理器系统中,可并行的是(B、C、D)
A.进程与进程
B.处理器与设备
C.处理器与通道
D.设备与设备
解析:
并发是微观的串行,宏观的并行。
- 下列选项中,操作系统提供给应用程序的接口是(A)
A.系统调用
B.中断
C.库函数
D.原语
- 下列选项中,在用户态执行的是(A)
A.命令解释程序
B.缺页处理程序
C.进程调度程序
D.时钟中断处理程序
解析:
命令解释程序可以理解为我们在cmd窗口敲的命令,只需要在用户态运行
目态:又叫常态或用户态。机器处于目态时,程序只能执行非特权指令
管态:又叫特权态、系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下执行。
- 一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达。它们的计算和I/O操作顺序如下:
P1:计算60ms,I/O 80ms,计算20ms
P2:计算120ms,I/O 40ms,计算40ms
若不考虑调度和切换时间,则完成两个作业需要的时间最少是(260ms)
解析:
这种题一般需要画图,首先p1到达上处理机运行,5ms之后p2到达,但是由于p1占用cpu,所以p2必须等p1计算60ms之后才能执行,p1计算完之后执行I/O操作80ms,这个过程是可以和p2计算120ms并行执行,之后等p2计算120ms之后p1再计算20ms,同时p2执行I/O操作40ms,最后p2再计算40ms
- 下列选项中,不可能在用户态发生的事件是©
A.系统调用
B.外部中断
C.进程切换
D.缺页
解析:
我们在写程序代码时,是直接可以进行系统调用,让系统执行我们的程序的。
当程序要使用某一个外设的时候,就要产生一个中断,这个中断产生于用户态。
进程切换是不会发生在用户态,一直在内核态执行
程序访存时缺页了,产生缺页中断,这个中断产生于用户态。
- 中断处理和子程序调用都需要压栈以保护现场。中断处理一定会保存而子程序调用不需要保存其内容的是(B)
A.程序计数器
B.程序状态字寄存器
C.通用数据寄存器
先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以扫码领取!
复习的面试资料
这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)
- 第一部分:Java基础-中级-高级
- 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)
- 第三部分:性能调优(JVM+MySQL+Tomcat)
- 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)
- 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)
- 第六部分:其他:并发编程+设计模式+数据结构与算法+网络
进阶学习笔记pdf
- Java架构进阶之架构筑基篇(Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法)
- Java架构进阶之开源框架篇(设计模式+Spring+SpringMVC+MyBatis)
- Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka))
- Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)
11478746085)]
[外链图片转存中…(img-SehQy4az-1711478746085)]
- Java架构进阶之分布式架构篇 (限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka))
[外链图片转存中…(img-lCDS6dXW-1711478746086)]
[外链图片转存中…(img-Vz5vScta-1711478746086)]
[外链图片转存中…(img-L6A2rUu9-1711478746086)]
- Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)
[外链图片转存中…(img-uX8tc9II-1711478746086)]
[外链图片转存中…(img-xTLja2zy-1711478746086)]
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!