引论

主要记录一下操作系统概论,包括它的发展历程以及基本的功能特性。这些基本功能特性都会在后续展开。

了解操作系统的发展历史,有助于理解现代操作系统中的一些功能特性。

1. 发展过程

操作系统的出现是为了更好的服务计算机操作。最初的计算机系统并没有操作系统,没有程序来控制计算机的执行,一切都是人工执行。人为地把处理纸带插入,进行运算。后面为了提高操作效率,使用了脱机IO的方法,弄一大堆纸带排队,按顺序一个一个弄。相当于弄了个缓存空间,存放待运行的纸带。

后来为了偷懒,实现了第一个操作系统——单道批处理系统,处理方法和人工的脱机IO差不多,只不过不需要人工。

而后,为了提高处理效率,因为计算机性能很强,但是单道批处理系统用不完,相当于一条路十米宽,但是只是单行道,那不浪费吗?所以这条十米宽的路开辟成一个双行道,大大提升了处理效率。

后面又有别的需求。因为电脑很贵,一个人买不起,通常要和别人拼单。但是有时候会有矛盾,就和上厕所一样,一个房间就一个厕所,当有人在开大的时候你肯定不能进去,但是你只是想小便,很快的,却要等很久,那你心生不满。于是设计出一个分时系统,每个用户占用该计算机一段时间,用完了给别人用,待会你再用。

同时有一种特殊的需求,有的人急性子,希望计算机能马上给我反馈,你说分时系统,我提交个任务半天不回,这不行。于是开发出实时系统,更合理的叫及时系统。

1.1 无操作系统

1.1.1 人工操作

1)使用

当计算机诞生后,还没有出现管理计算机资源的操作系统,这个时候使用计算机都是人工操作,当想执行什么指令,就把它写到一个纸带上,然后把纸带插进电脑里,然后就开始执行了。

2)优缺点

这个最原始的使用方式没有什么优点,硬要说优点,那最大的优点就是能用。反倒是有很多不足的地方。

第一,利用效率低。因为计算机运行是很快的,但是人工传纸带好慢的,计算机资源肯定利用不完。最重要的是,当时一个学校都不一定有一台电脑,而且一次只能一个人用,还如此繁琐,大大浪费了资源。

后面呢,就做了一点改进。

1.1.2 脱机IO

现在升级了,可以好几个人排队,把要执行的指令任务先放到缓存区(硬盘),这样呢,我们宝贵的计算机资源就会不断执行纸带中的指令。执行完成后,会告诉执行者执行结果,还算是提高了利用率。

1.2 单道批处理

第二代晶体管的出现,使得计算机性能大大提高。

后面就有人写了一个简单的操作系统,这个操作系统有一个监督程序,不断读取待执行的命令(纸带),让电脑自动一个一个执行。把脱机IO更自动化了

缺点也很显然,操作系统的所有发展目的都是提高计算机的利用率,穷竭它的算力,不然浪费着干嘛呢?

单道批处理系统,内存中只有一个程序,那剩下的内存干嘛?没事干可不能闲着。

1.3 多道批处理

多道批处理系统应运而生。

很简单啊,我要让CPU无时无刻都在运行。我们观察上面的单道批处理系统运行图,尤其是IO操作,最烦人,最慢。为什么?因为人脑人手办事的,那肯定慢啊,那就浪费了好多时间。

那多道批处理系统就聪明了,你在进行IO操作的时候,我启动另一个任务的计算,这不就大大提高利用率了吗?

那它缺点呢?它必然优缺点,那不然操作系统怎么还会发展…

缺点:

第一个,这个最原始的系统,他任务执行是按顺序的。平均周转时间很长,一个任务可能做好几个小时甚至几天(通常在等待),你说现在的你能接受吗?当时是大学教授搞科研,弄个数学题给他算算就行了要求也不高,但是要听音乐看电影的那肯定不行啊。

第二个,无交互能力。你想修改你丢进去的程序是不行的,它不给你机会。你几天前丢了一个数学公式进去,第二天发现它写错了,你想改,不好意思没门,后面过几天出来一个错误的结果,甚至可能还浪费了一次使用计算机的机会。

第三个,内存管理。这么多程序,每个程序都要内存,那如何保证内存不会出错?一个程序跑太久了,卡bug了,如何删除干净它的内存?一个程序会不会在内存中搞破坏?

1.4 分时系统

因为当时一台计算机又贵又大,只有部分高校配备,为了更加提高计算机利用效率,创造性的一个操作系统设计思路。让一台电脑好多个人用。这就是分时系统的诞生,每个用户占领一段时间。

1.5 实时系统

后面又有另外一些特殊需求,希望能有一个实时控制系统。就好像人工遥控车,你总不会希望你摁下前进方向它过五分钟才走吧?

2. 基本特性

这里介绍一下现代操作系统主要特征。这些特征都会在后面的章节仔仔细细展开来讨论,因为它构成了操作系统最重要的部分。特征是由于某些功能而存在的,功能的存在又是为了解决某些问题。

2.1 并发

2.1.1 并行/并发

并行和并发什么区别?并行是两个人一起走,并发是两个人一起出发,一起到达。

并行是两个或多个时间在同一时刻发生,是一个微观概念;并发是两个或多个事件在同一时间间隔发生,是一个宏观概念。

目前计算机的处理就是一个并发性。表现出来是一分钟处理了好几个程序,但实际运行中,CPU一分钟跑一下这个程序,另一分钟跑一下那个程序,最后在一小时,所有程序都完成了。

2.1.2 进程

进程引入的目的,就是为了实现并发

想要实现并发,就需要管理好每个应用程序,要知道这个应用程序进行到什么状态?需要什么数据?挂起后还能够准确的回到它原先运行的断电。因此为每个应用程序设立一个进程,进行分配资源,进行管理。

2.1.3 线程

线程引入的目的,是为了管理进程

由于进程是拥有资源的,进程之间的调度会有很多开销。因此提出线程,基于进程上的管理单位,它不拥有资源,因此可以灵活调度。

为进程分配资源,对线程进行调度

2.2 共享

共享是指资源复用。但是不同的资源特性不一样,复用方式也不同。

2.2.1 互斥共享

像打印机这类资源,一次只能执行一个命令,这就是互斥共享。我可以给你用,但是你要等我空闲了再找我。

2.2.2 非互斥共享

与上述相反。

2.3 虚拟

虚拟,实际上是屏蔽了物理结构的差异,从逻辑上融为一体。没啥好说的。

像什么虚拟磁盘技术等

2.4 异步

并发执行特点就是异步,他和并行不同,并行是同步。我们不能等这个程序一直走一直走,卡住了也等。它住了我就跑别的程序,等它不卡了我再回来弄它。

3. 主要功能

这里主要介绍操作系统的主要功能,这些功能都能从上面的特性窥探到。由于有这些功能,才会使得操作系统具有上述的特性。而功能是实现,目的就是为了解决问题。

3.1 处理机管理功能

如何协调进程?

3.1.1 进程控制

能够控制进程的生成,销毁,分配资源,回收资源。

3.1.2 进程同步

进程是异步方式运行的,但是,过程中可能出现什么问题。比如说同时访问资源怎么办?这时候就需要做进程的协调。

进程互斥:进程对临界资源(只能一个人访问)进行访问时,采用互斥方式

进程同步:相互合作完成共同任务的进程间,对次序进行调整。比如先写后读。

实现进程同步,需要一个同步机制。常用的方法有设置锁和信号量机制。

3.1.3 进程通信

进程之间如何交互信息?

3.1.4 调度

如何调入进程进入内存执行?怎样调度?谁先执行?

3.2 存储器管理功能

如何管理内存?

3.2.1 内存分配

进程需要多少内存?分配多少给它?静态还是动态?

3.2.2 内存保护

某个进程修改别人进程的内存资源怎么办?

3.2.3 地址映射

实现虚拟功能就意味着逻辑地址和物理地址是不同的,进程的逻辑地址从0开始,但是物理地址不是,如何完成映射?

3.2.4 内存扩充

这不是物理上的扩充,是逻辑上的扩充。内存空间不够的时候,如何通过调度的方式,调整内存。

3.3 设备管理功能

管理外围IO设备

3.3.1 缓冲管理

在IO设备与CPU中设置缓冲,不要让CPU一直等待IO设备输入。

缓冲的存在,就是解决两个设备间处理速度不一致的问题。

3.3.2 设备分配

如何管理设备资源。

3.3.3 设备处理

一个驱动程序。实现CPU和设备控制器之间的通信。

我们的CPU和键盘,鼠标,屏幕,等等外围设备通信,都需要一个驱动,或者叫适配器。

3.4 文件管理功能

管理文件资源。包括目录,读写,共享,保护等

3.4.1 目录管理

如何合理安排文件位置

3.4.2 读写保护

有些文件不让每个人读写
冲的存在,就是解决两个设备间处理速度不一致的问题。

3.3.2 设备分配

如何管理设备资源。

3.3.3 设备处理

一个驱动程序。实现CPU和设备控制器之间的通信。

我们的CPU和键盘,鼠标,屏幕,等等外围设备通信,都需要一个驱动,或者叫适配器。

3.4 文件管理功能

管理文件资源。包括目录,读写,共享,保护等

3.4.1 目录管理

如何合理安排文件位置

3.4.2 读写保护

有些文件不让每个人读写

操作系统概述(发展,特性,功能)相关推荐

  1. 操作系统之计算机系统概述:1、操作系统概述(定义、功能、作用)

    1.操作系统概述 思维导图: 计算机系统的层次结构: 操作系统的定义: 操作系统的功能和目标: 1.系统资源的管理: 2.向上层提供方便易用的服务: 3.对硬件机器的扩展: 思维导图: 计算机系统的层 ...

  2. 操作系统学习笔记 第一章:操作系统概述(王道考研)

    本文章基于 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 后续章节陆续推出- ...

  3. [操作系统精髓与设计原理笔记] Chapter2 操作系统概述

    Chapter2 操作系统概述 2.1 操作系统的目标和功能 2.1.1 作为用户/计算机接口的操作系统 操作系统是应用程序和计算机硬件间的接口,三个目标:方便.有效.扩展能力 计算机软硬件结构 ​ ...

  4. 操作系统(一)——操作系统概述

    一.操作系统概述 知识框架 1.1 操作系统的基本概念 1.1.1操作系统 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的 ...

  5. 计算机基础知识——操作系统概述

    1.操作系统概述 1.1.什么是操作系统 1.1.1.操作系统定义 操作系统(Operating System,简称OS)是一个大型的程序系统,他负责计算机的全部软.硬件资源的分配.调度工作,控制并协 ...

  6. 第一章 Linux操作系统概述

    接下来我将根据<Linux C编程完全解密>这本书,整理Linux系列相关笔记,并写成文章.本文将是该系列文章的第一篇. 第1章 Linux操作系统概述 1.1 认识Linux操作系统 1 ...

  7. OS--学习笔记:操作系统概述

    一.操作系统概述 1.操作系统的概念.特征.功能.提供的服务 操作系统的概念.特征.功能.提供的服务 概念:控制和管理整个计算机系统的硬件和软件资源,合理地组织.调度计算机的工作与资源的分配,进而为用 ...

  8. Linux操作系统概述

    Linux操作系统概述 Linux发展历史 Linux的发展要素 Linux与UNIX的异同 操作系统类型选择和内核版本的选择 Linux的系统架构 Linux内核的主要模块 Linux的文件结构 L ...

  9. 关于客户机服务器与微内核结构操作系统,第1章 操作系统概述1

    <第1章 操作系统概述1>由会员分享,可在线阅读,更多相关<第1章 操作系统概述1(41页珍藏版)>请在人人文库网上搜索. 1.操作系统概述 苏锐丹 操作系统概述 n操作系统的 ...

  10. 操作系统原理——(1)引言:计算机系统和操作系统概述

    目录 计算机系统概述 计算机系统的基本组成 处理寄存器和指令执行 中断 存储器 I/O访问方式 操作系统概述 操作系统的概念及功能 操作系统的发展 衡量操作系统的指标 操作系统的结构 现代操作系统的基 ...

最新文章

  1. PostgreSQL学习手册(五) 函数和操作符
  2. ORACLE TNS(transparence Network Substrate透明网络底层)
  3. 一对多分页查询mysql编写_一对多分页的SQL到底应该怎么写?
  4. 150秒内诊断脑瘤!最新医学影像AI在《Nature Medicine》发表
  5. 运放放大倍数计算公式_运放电路设计【1】
  6. 亨嘉之会话数据行业未来 万字长文解码2021数据技术嘉年华
  7. Android 拦截Home键的常用方法
  8. 小米和联想的“骁龙”之争,首发第一,友谊第二
  9. ECMAScript 6 入门教程
  10. 投资分析研究:天然气分布式能源项目
  11. 基于SSM的生产计划排程管理系统
  12. 导出Mysql数据库结构-word格式
  13. SAP:采购申请ME51N/ME52N/ME54N/ME57屏幕增强
  14. java多线程12:阻塞队列Queue
  15. SQL——子查询的概念及使用
  16. Linux迁移home目录到根目录的操作步骤
  17. RHEL6/7更新系统的CA
  18. 张艾迪(创始人):视觉计算极简主义的设计
  19. PlotJuggler的安装遇到的问题记录
  20. jaccard相似性度量

热门文章

  1. 文本智能处理与RPA领军企业达观数据宣布完成5.8亿元C轮融资
  2. 道破产品迷局--识别合格ToB产品经理
  3. 苏云技术导航系统源码带后台
  4. 程序员制作epub电子书
  5. CS模式,客户端页面加载
  6. 2017美国数学建模ICM D题 优化机场安全的乘客吞吐量检查点(Optimizing the Passenger Throughput at an Airport Security Checkpo)
  7. 计算机RAM ,ROM,NOR FLASH ,NAND FLASH和手机RAM,ROM大家庭血缘关系图
  8. Delphi/Pascaldelphi盒子
  9. Android开发之渐变效果gradient属性
  10. 运营方法论——增长黑客