引言:
开操作系统这篇,希望自己梳理一下这方面的知识体系,和JVM的一些概念对比着学习,还有就是通过学校的考试,画图说明一些知识和课后的习题解析,应该对复习或者初学的伙伴有一些帮助。
然后更新和文章思路:目前优先服务于考试内容,后续慢慢添加补充内容和深度知识(汇编等内容)。

什么是操作系统

首先要知道我们为什么需要操作系统?
1946年,世界上第一台通用计算机埃尼阿克(ENIAC)在美国宾夕法尼亚大学诞生,用了 18000 个电子管,占地 170 平方米,重达 30 吨,每当这台计算机开机时,费城的灯就会变暗。
ENIAC没有操作系统,如果你想操作它需要手动去调整硬件面板的按钮(不多,也就成千上万个而已)

如此“简单”的操作,引出了我们计算机的救世主—操作系统。
它最主要的功能就是:管理硬件设备,提高它们的利用率和系统吞吐量,并为用户应用程序提供一个简单的接口,以便用户和应用程序使用硬件设备。
有了它,我们可以坐在曹船上,运筹千里之外。

我们对操作系统没什么感觉,是因为我们身处的时代给了我们太多福利,当我们操作计算机时,良好的图形界面,通过鼠标点击操作,使得操作计算机门槛已经低到地心。

而早期操作系统DOS是什么样呢


当满屏都是黑框框,相信有网瘾的都是资深计算机爱好者。
所以总结一下,操作系统是硬件与各种软件沟通的桥梁,功能大致分为两个部分:
1.管理计算机硬件与软件资源
2.向用户提供一个与系统交互的操作界面。

操作系统的目标,作用和功能

一:目标

主要目标:
1.方便性
如果我们想着计算机硬件上运行自己所写的程序,就必需使用机器语言编程。

相信聪明的你一定不难看懂。
如果我们配置了OS,则可以使用编译命令来采用高级语言编写,或直接通过OS所提供的各种命令来操作计算机。
2.有效性
a.提高系统资源的利用率—因为io设备等经常处于空闲状态,资源无法充分利用。
b.提高系统的吞吐量—合理组织计算机工作流程,加速程序的运行,缩短程序运行周期。
3.可扩充性
这个没什么好说的,没有扩充性的任何软件都会面临不同程序的落寞。
4.开放性
系统遵从国际标准,尤其是遵从开放系统互联(OSI),所有遵从国际标准开发的硬件和软件都能彼此兼容,并方便实现互联。

二:作用

1:OS作为用户与计算机硬件系统之间的接口

2:OS作为计算机系统资源的管理者
计算机包含了硬件和软件资源。
OS主要功能对于这四类的管理:
a.处理机的分配与控制
b.IO设备的分配与操纵
c.文件管理的存储,共享与保护等
d.存储器内存分配与回收

3:OS实现了对计算机资源的抽象
a.如果OS没有实现对计算机资源的抽象,那么计算机向用户提供的是硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,这使得用户不方便使用计算机(我们必须用机器指令去操作。
b.我们为了方便去使用计算机的功能,这时我们在裸机(无软件的计算机系统)上覆盖IO设备管理软件,那么就会隐藏IO设备的具体细节,向上提供了一组抽象的IO设备。
c.我们通常把覆盖了上述软件的设备为虚机器(它给用户提供了 一个可以对硬件进行操作的抽象模型),使得用户无需了解物理接口的实现细节,也可以使用计算机硬件资源。
d.同理,也可以在第一层抽象之上再去覆盖一层管理文件的软件,这样我们得到一台功能更强虚机器。
e.综上可知,OS是铺设在计算机硬件上的多层软件的集合,不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。

TODO.操作系统的基本功能

这个等到我们复习完整个操作系统,来系统的回顾比较好,因为包含了所有我们要去聊的内容。

单道批处理系统和多道批处理系统

一:单道批处理系统


监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。
虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统 。
特点:

  1. 自动:作业自动运行,无需干预
  2. 批量:磁带上的各个作业按顺序地进入内存,先进先出。
  3. 单道:内存中只有一道程序运行

CPU利用率:

0-t4中,我们可以很明显看出,由于IO设备的低速性,高速的CPU要等待低速的I/O操作完成,t2-t3时间间隔内CPU空闲时间较长,利用率显著降低。

系统中某资源的利用率计算
CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU+空闲等待时间)

缺点:

  1. 内存中仅能装入一道程序
  2. 当前作业执行完毕后才可以执行下一道作业
  3. 难以发挥系统中各类型资源的并行处理能力
  4. 系统中的资源得不到充分的利用。

我们可以很明显看出----单道批系统是要解决CPU与IO设备速度不匹配矛盾中形成,但是仍然不可以充分利用系统资源。

二:多批道处理系统


1.用户提交的作业先放到外存上,排成一个队列(后备队列)。
2.作业调度程序按一定算法冲后备队列中选择若干个作业调入内存(它们共享CPU和系统中各个资源)
3.内存(装有若干道程序)可以调度多个程序运行。

CPU占用情况:

优点:
1.资源利用率高:
多道程序机制使多道程序交替运行,CPU一直处于忙碌。
内存装入多道程序,提高内存利用率,还提高了IO设备利用率。
2.系统吞吐量大:
CPU和其他资源保持“忙碌”状态。
仅当作业完成或者运行不下去时才切换,系统开销小。

应试回答:

  1. 内存中可同时装入多道程序,共享CPU和系统的各种资源
  2. 能够充分发挥系统中各类型资源的并行处理能力
  3. 多道程序交替进行,保持CPU处于忙碌状态

缺点:
1.平均周转时间长:作业需要排队并且是依次处理。
2.无交互能力:作业提交给系统直至作业完成,用户不能与作业进行交互。

操作系统的结构

一:内核
内核是操作系统的核心组件,它负责管理所有进程,内存,文件等。
内核功能在操作系统的最低级别,充当用户级应用程序和硬件之间的接口,所以,内核实现了软件和硬件之间的通信。

二:体系结构
对程序员而言是指计算机逻辑结构和功能特征,包括各个硬,软部件之间的相互关系。
对计算机系统设计者是指研究计算机的基本思想和由此产生的逻辑结构。
对程序设计者是指对系统的功能描述。

目前主要的体系结构:大内核和微内核

从体系结构的概念我们知道大内核和微内核是通过功能特征进行划分的逻辑结构。
操作系统在核心态为应用程序提供多种公共服务,如:
1.进程管理/存储器管理/文件管理/设备管理
2.中断操作/时钟管理等。

用一张图来解析如何通过功能来区别大内核和微内核:

大内核:第二层与第三层(顶部为第一层)

应试:
微内核结构的特点:

  1. 足够小的内核
  2. 基于客户/服务器模式
  3. 采用策略与机制分离原则
  4. 采用面向对象技术

微内核的优点

  1. 提高了系统可扩展性
  2. 增强了系统的可靠性
  3. 增强了系统的可移植性
  4. 提供了对分布式系统的支持
  5. 融入了面向对象技术

微内核的缺点

  1. 运行效率降低,上下文切换次数增加。

应试题(后面继续补充,每天更新一道)

单批道处理系统例题
多批道处理系统例题

设设某计算机系统有CPU、I/O设备1、 I/O设备2。现有两个进
程同时进入就绪态,且进程A先运行,进程B后运行。
进程A:计算20ms,设备1运行50ms,设备2运行20ms,再计
算20ms。
进程B:计算20ms,设备1运行30ms,再计算10ms。

操作系统(一):引论相关推荐

  1. 计算机操作系统例题总结

    计算机操作系统例题 引论及进程管理 --选择 --简答 --计算 处理机调度与死锁作业 选择 简答 计算 存储器管理 选择 简答 设备管理作业 单选 文件管理作业 选择 简答 阅读 引论及进程管理 – ...

  2. 历史文件备份,原文件已损失

    zzf073的博客 - 第6页 - DevDiv开发者社区 - Powered by DEVDIV.COM! zzf073的博客 - 第4页 - DevDiv开发者社区 - Powered by DE ...

  3. 【408预推免复习】操作系统引论

    [408&预推免复习]操作系统引论 文章目录 1 操作系统的目标和作用 2 单道批处理系统 3 多道批处理系统 4 操作系统基本特性 1 操作系统的目标和作用 2 单道批处理系统 3 多道批处 ...

  4. 操作系统第一篇【引论】

    tags: 操作系统, title: 操作系统第一篇[引论] 操作系统概述 操作系统是掌控计算机上所有事情的软件系统. 从系统管理人员的观点来看,操作系统是计算机资源的管理者. 从用户的观点来看,引入 ...

  5. 《现代操作系统》第1章读书笔记-- 引论(未完成)

    第1章 引论 现代计算机系统由一个或多个处理器.主存.磁盘.打印机.键盘.鼠标.显示器.网络接口以及各种其他输入/输出设备组成.一般而言,现代计算机系统是一个复杂的系统.如果每位应用程序员都不得不掌握 ...

  6. 第一章 操作系统引论

    第一章 操作系统引论 1.1 操作系统的目标 1.1.1 操作系统的目标 1.1.2 操作系统的作用 1.1.3 推动操作系统的主要动力 1.2 操作系统的发展过程 1.2.1 未配置操作系统的计算机 ...

  7. 北航操作系统课程-第一次作业-操作系统引论1

    北航操作系统课程-第一次作业-操作系统引论1 北京航空航天大学计算机学院-2020春操作系统课程 题目作者为北航计算机学院操作系统课程组,答案为博主原创.水平有限,无法保证作答正确性,如有错误敬请批评 ...

  8. 【操作系统之考前垂死挣扎】01操作系统引论

    1操作系统引论 1.1:操作系统的目标和作用 1.2:操作系统的发展过程 1.3:操作系统的基本特性 1.4:操作系统的主要功能 1.5:OS结构设计 1.6:常见的OS 1.1:操作系统的目标和作用 ...

  9. 《操作系统第四版》(刘振鹏 王煜)(一)引论

    一.引论 1.1 操作系统的概念 1.1.1计算机系统 硬件系统+软件系统(程序和文件) 软件分为:系统软件(操作系统).支撑软件(数据库.编译程序).应用软件 1.1.2什么是操作系统 用户角度:是 ...

  10. 现代操作系统(1.引论)

    前言 本文是结合<现代操作系统>(Andrew S. Tanenbaum著)的摘要与上课ppt的笔记,自用. 第一章:引论 任务核心:存储+cpu(任务执行性能与内存大小是一个log型函数 ...

最新文章

  1. ftp java listfiles_Java FTPClient.listFiles()不能获取目录里的文件
  2. otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
  3. 使用事务代码MB51+Excel中的数据透视表实现 收发存报表
  4. Web前端培训:有哪些好用的前端开发工具呢?
  5. Form表单中的button导致页面刷新而无法进入Ajax请求回调函数
  6. JMM如何解决顺序一致性问题-重排序问题
  7. jmeter压力测试linux,JMeter压力测试
  8. 下载量超 20 亿的 8 款 Android 应用涉广告欺诈,谁在“猎杀”猎豹移动?
  9. 2017-2018-2 1723《程序设计与数据结构》第八周作业 实验二 第一周结对编程 总结...
  10. linux线程退出正确姿势demo
  11. 搭建一个服务器框架,进程间利用管道通信,线程处理数据
  12. 树中两个节点的最低公共祖先
  13. J2EE视频实战教程网址
  14. [ZT]IBM骨灰心得:在你决定购买IBM某个系列前你认真思考过这些吗?
  15. Origin软件使用TIPS
  16. 云服务器被攻击了快速解决方案
  17. 智慧城市背景下智慧消防建设的SWOT分析
  18. B1031. 查验身份证
  19. 最小生成树模板 POJ——1258
  20. 像素鸟 app 的设计与实现

热门文章

  1. cmd验证mysql安装成功_怎么使用cmd查看mysql数据库安装成功?
  2. C语言字符串操作函数汇总
  3. C语言 函数返回字符串的方法
  4. 有关FFT频谱泄露与整周期采样问题v1.0(待修)
  5. uni-app - 日历选择器组件(支持日期 “范围选择“ 多选 / 支持单选日期 / 自定义默认选中时间 / 弹框式 / 支持农历 )完美兼容 H5 APP 小程序,最好用的教程完整源代码插件!
  6. 论文阅读 L2M-GAN:《L2M-GAN: Learning to Manipulate Latent Space Semantics for Facial Attribute Editing》
  7. iOS SoundTouch 的使用
  8. 阿里十年架构师教你如何学会阅读源码
  9. hdu 32 杨辉三角
  10. 全球及中国工业草酸市场供需现状与前景动态分析报告2022-2028年