操作系统概述

  • 一、操作系统
    • 概念
    • 特征
    • 功能
  • 二、发展与分类
  • 三、体系结构
    • 运行机制
    • 中断和异常
    • 系统调用

一、操作系统

概念

操作系统 是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

特征

共享 并发 虚拟 异步

功能

1、操作系统作为计算机系统资源的管理者
处理机管理 存储器管理 文件管理 设备管理

2、操作系统作为用户与计算机硬件系统之间的接口

命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。

程序接口
可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。

3、操作系统实现了对计算机资源的扩充

操作系统是对计算机资源进行管理的软件。操作系统主要向用户提供命令接口和程序接口(系统调用),此外还提供图形接口;当然, 图形接口其实是调用了系统调用而实现的功能。操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源广义指令就是系统调用命令,而命令解释器属于命令接口,shell是命令解析器,它也属于命令接口。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用。引入多道程序设计后,程序的执行就失去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。顺序性是单道程序设计的基本特征。在单处理机中  进程与线程不可以并行库函数是语言或应用程序的一部分,可以运行在用户空间中。而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能。未使用系统调用的库函数,其执行效率通常要比系统调用的高。因为使用系统调用时, 需要上下文的切换及状态的转换(由用户态转向核心态)。

二、发展与分类

脱机技术用于解决独占设备问题。虚拟技术与交换技术以多道程序设计技术为前提。多道程序设计技术由于同时在主存中运行多个程序,在一个程序等待时,可以去执行其他程序,因此提高了系统资源的利用率.批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,也因此才有了分时操作系统的岀现。操作系统的基本类型主要有批处理操作系统、分时操作系统和实时操作系统实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理要求快速响应用户是导致分时系统出现的重要原因。分时系统中,当时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间自然就变长,
注意,分时系统的响应时间t的比例关系可表达为t=QN,其中Q是时间片,而N是用户数。中断技术使得多道批处理系统的I/O设备可与CPU并行工作.现代操作系统都是多任务的(主要特点是并发和并行),并不一定需要运行在多CPU的硬件上,单个CPU也可满足要求中断是操作系统必须提供的功能,因为计算机的各种错误都需要中断处理,核心态与用户态切换也需要中断处理

三、体系结构

用分层式设计的操作系统结构清晰且便于调试。大内核的缺点  占用内存大  缺乏可扩展性 不方便移植  可靠性太低微内核OS:①内核足够小 2 基于客户/服务器模式 (c/s);③应用“机制与策略分离”原理;④采用面向对象技术微内核中 文件管理 设备管理不宜放在内核中  而 进程通信 中断 原语 低级i/o等核心放在内核中微内核结构的特点  使系统更可靠 添加系统服务 不必修改内核  window xp操作系统 采用的  宏内核操作系统层次化架构  每一层都仅仅使用其底层提供的功能和服务 使系统的调试 验证变得很容易

运行机制

中断和异常

系统调用

中断处理流程的前三个步骤是由硬件直接实现(隐指令)的。
地址映射中需要基地址(或页表)寄存器和地址加法器的支持。
在时钟管理中,需要硬件计数器保持时钟的运行。
进程调度由调度算法决定CPU使用权,由操作系统实现,不需要硬件的支持。当中断或异常发生时,通过硬件实现将运行在用户态的CPU立即转入核心态。中断发生时若被中断的是用户程序,
则系统将从目态转入管态,在管态下进行中断的处理;若被中断的是低级中断,则仍然保持在管态,
而用户程序只能在目态下运行,因此进入中断处理的程序只能是操作系统程序。
中断程序本身可能是用户程序,但是进入中断的处理程序一定是操作系统程序。从核心态到用户态的转换是由操作系统程序完成的
而从用户态到核心态则是由硬件完成的。大多数计算机操作系统的内核包括四个方面的内容,即时钟管理、中断机制、原语和系统控制的数据结构及处理,其中第4部分实际上是系统调用类的指令(广义指令/系统调用)。
从另外的角度考虑,若在用户态下允许执行“置时钟指令”,则一个用户进程可在时间片还未到之前把时钟改回去,从而导致时间片永远不会用完,进而导致该用户进程一直占用CPU,这显然是不合理的。广义指令的调用可能发生在用户态,调用广义指令的那条指令不一定是特权指令,但广义指令存在于核心态中,所以执行一定在核心态。输入/输出指令涉及中断操作,而中断处理是由系统内核负责的,工作在核心态。
访管指令在用户态下使用,是用户程序“自愿进管”的手段,用户态下不能执行特权指令。 在核心态下,CPU可以执行指令系统中的任何指令。外部中断处理过程,PC值(断点)由中断隐指令自动保存,而通用寄存器内容由操作系统保存。执行系统调用的过程如下:正在运行的进程先传递系统调用参数,然后由陷入(trap)指令,负责将用户态转换为内核态,并将返回地址压入堆栈以备后用,接下来CPU执行相应的内核态服务程序,最后返回用户态当CPU检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器PC), I错误。 之后,硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化,III正确)。接下来开始执行中断服务程序, 保存PSW、保存中断屏蔽字、保存各通用寄存器的值,并提供与中断信号对应的中断服务,中断 服务程序属于操作系统内核操作系统不同,底层逻辑、实现方式均不相同,为应用程序提供的系统调用接口也不同

808 操作系统概述相关推荐

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

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

  2. 操作系统学习1:操作系统概述

    操作系统概述 什么是操作系统? 操作系统(Operating System,简称OS)是一个系统软件,它管理计算机的软硬件资源,并为计算机程序提供服务. 操作系统的五大功能 文件管理 文件管理包括:存 ...

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

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

  4. 操作系统原理 —— 操作系统概述

    目录 1.操作系统概述 1.1 操作系统做了什么? 1.1.1 操作系统做了什么?(1/4) 1.1.2 操作系统做了什么?(2/4) 1.1.3 操作系统做了什么?(3/4) 1.1.4 操作系统做 ...

  5. 清华大学MOOC《操作系统》第1讲:“操作系统概述”总结(转)

    课程内容概述 这一讲对课程内容和操作系统做了一个概括性的介绍,主要包括以下几块内容: 教学安排 什么是操作系统 操作系统的演变 操作系统结构的分类 教学安排 本课程将讲述的内容包括: 操作系统结构 中 ...

  6. Linux操作系统概述

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

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

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

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

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

  9. linux 写操作系统 pdf,Linux操作系统概述.pdf

    Liux操作系统 一.概述 教材和参考资料 • E-Learning上将提供课程ppt以及部分文字资料 • L命令行与脚本编程大全 (第3版),R B,C B著, 门佳 .武海峰译, 人民邮电出版社 ...

最新文章

  1. 面试官:啥是集群策略啊?
  2. cf534D 枚举握手次数
  3. sql server 2008 年累计数_MySQL高阶问题:server层和存储引擎层是如何交互的?
  4. vue 直接访问静态图片_vue中本地静态图片路径写法
  5. sass 基础——回顾
  6. css 背景属性 0302
  7. Jedis之ShardedJedis虚拟节点一致性哈希分析
  8. linux sed命令_Linux sed命令用法与示例
  9. android开发酷欧天气,酷欧天气的开发
  10. oracle8i数据库修复,用ORACLE8i修复数据库坏块的三种方法
  11. ubuntu下弹框提醒
  12. 图解《金字塔原理》,7步掌握其精华!
  13. TOEFL资料 280多个
  14. Struts1 页面提交到ActionForm,form为null
  15. 《IS-IS网络设计解决方案》一第6章 最短路径优先算法6.1 SPF算法概述
  16. 用scribefire写blog
  17. bugku 杂项 图穷匕见 wp
  18. 中级软考-软件设计师(四)
  19. PADS9.5软件安装教程|兼容WIN10
  20. html前台日历,calendar.html

热门文章

  1. Could not find setter for 0 on class
  2. 使用MyBatis-Plus代码生成器(新)遇到的问题
  3. 重磅消息丨4月18日,聚焦十大领域,百家“最具价值”科技项目榜单即将揭晓丨Xtecher 独家
  4. 移动办公的实现和演进
  5. 计算机专业支教组,暑期实践 | 计算机特色课程进仙桃,暑期实践支教进行时
  6. scatter python_PyTorch笔记之scatter()函数的使用
  7. 数字式仪表的识别yolov3+crnn
  8. 计算统计单元内建筑密度
  9. amr转mp3 音频格式转换
  10. 申请信用卡分期却被拒,到底是怎么回事?