操作系统概念学习笔记 4

操作系统结构和操作简述

操作系统结构

多道程序设计

多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。只要有一个程序或任务可以执行,cpu就不会空闲。

但是不能提供与计算机系统直接交互的能力。

分时系统(多任务)

分时系统(多任务)是多道程序设计的延伸,在分时系统中,虽然cpu还是通过在作业之间的切换来执行多个作业,但是由于切换频率很高,用户可以在程序运行期间与之进行交互。

分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,允许多个用户通过主机的终端以交互方式使用计算机,共享主机中的资源。

共享需要一种交互式计算机系统,它能提供用户和系统之间的直接通信。

分时允许许多用户同时共享计算机,每个用户只要少量cpu时间,随着系统从一个用户切换到另一个用户,每个用户会感觉到整个系统只为自己所用。

装到内存并执行的程序通常被称为进程(process),当进程执行时,通常他只执行较短的一段时间,,此时他并未完成或者需要进行IO操作。由于交互IO通常按人的速度来运行,会运行很长时间,例如每秒5个字符的输入速度对计算机相当的慢了。用户交互输入时,系统为了不让cpu空闲,会将cpu 切换到其他用户的程序。

分时和多道程序设计需要在存储器中同时保存有几个作业。由于主存较小,通常在开始将作业存储在磁盘的作业池中。作业调度(job scheduling)按照一定的算法,从作业池或后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。

在分时操作系统中,操作系统必须保证合理的响应时间,这需要交换即进程在内存与磁盘之间的来回转移来实现。更常用的方法是使用虚拟内存(virtual memory),虚拟内存允许将一个执行的作业不完全放在内存里,且他可以比物理内存大。还有,虚拟内存将内存抽象成一个 庞大且统一的存储数组,将用户索理解的逻辑内存(logical memory)与真正的物理内存区别开来。

操作系统操作

现代操作系统是中断驱动的。如果没有进程可执行,没有I/O设备可服务,没有用户可响应,那么操作系统就会安静的等待事件的发生。事件总是由中断或陷阱引起。陷阱或异常是一种软件中断,由于出错比如除数为零或者源于用户程序的一个特别请求(完成操作系统服务)。对每一种中断,操作系统中不同的代码段决定将要采取的动作。

双重模式操作

采用共享,许多进程可能会受到一个程序的漏洞的不利影响,因此操作系统的设计必须保证一个错误的程序不会造成其他程序执行错误。

为保证操作系统的正常执行,必须区分操作系统代码和用户定义的代码。可以采用的方法是提供硬件支持以允许区分各种执行模式。

计算机硬件中增加一个称为模式位(mode bit) 的位以表示当前模式:监督程序模式0和用户模式1.有了模式位就可以区分操作系统和用户分别执行的任务。

双重模式操作系统为保护操作系统和用户程序不受错误用户程序影响的手段。实现方法是:将能引起损害机器的指令设为特权指令(privileged instruction),用户模式执行这些指令是非法的,并将其以陷阱的形式通知操作系统。

切换到用户模式就是一个特权指令,其他的例子包括I/O控制、定时器管理,中断管理。

当CPU运行于内核模式时,一切程序都可运行.任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚地址和控制虚拟内存硬件.这种模式对应80×86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式.

系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。系统调用通常采用陷阱到中断向量的一个指定位置的方式。

为确保系统对cpu的控制、防止程序进入死循环或不调用系统服务,并且不将控制全返回到操作系统。为实现之一目标,可使用定时器。系统在将控制权交给用户之前,应确保设置好计时器以便产生中断。计时器产生中断,控制权自动交给操作系统。

操作系统概念学习笔记 4 操作系统结构和操作简述相关推荐

  1. 操作系统概念学习笔记 11 进程同步(一)

    操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区 ...

  2. 操作系统概念学习笔记 15 内存管理(一)

    操作系统概念学习笔记 15 内存管理(一) 背景 内存是现代计算机运行的中心.内存有非常大一组字或字节组成,每一个字或字节都有它们自己的地址.CPU依据程序计数器(PC)的值从内存中提取指令.这些指令 ...

  3. 操作系统概念学习笔记 16 内存管理(二) 段页

    操作系统概念学习笔记 16 内存管理 (二) 分页(paging) 分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的.分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管 ...

  4. 【操作系统学习笔记】—— 【一】操作系统概述

    本文参考: JavaGuide 王道考研-操作系统 CS-Notes 文章目录 一.操作系统的概念和功能 1. 什么是操作系统 2. 操作系统的功能和目标 二.操作系统的四个特征 1. 并发(最基本特 ...

  5. 操作系统概念学习笔记一 进程

    1 作业与进程的区别 进程和作业的概念也有区别.一个正在执行的进程称为一个作业,而且作业可 以包含一个或多个进程,尤其是当使用了管道和重定向 命令.例如"nroff -man ps.1|gr ...

  6. 【操作系统/OS笔记02】操作系统的历史、操作系统结构

    本次笔记内容: 1.4 如何学习操作系统 1.5 操作系统的实例 1.6 操作系统的历史 1.7 操作系统结构 1.8 小结 文章目录 操作系统的大概分支 操作系统的历史和演变过程 操作系统结构 微内 ...

  7. 操作系统第三章笔记--操作系统结构

    本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载 操作系统系列笔记汇总:操作系统笔记及思维导图汇总附复习建议_Qlz的博客-CSDN博客 文章目录 文章目录 文章目录 Ope ...

  8. 操作系统复习笔记 02-03 OS Structure 操作系统结构

    02-03操作系统结构(OS_Structure) []陈述: 1.IO设备与CPU可并行运行. 2.每一个设备控制器负责一个设备类型. 3.每一个设备控制器有一个局部缓存. 4.CPU通过局部缓存与 ...

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

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

最新文章

  1. Tomcat(四):tomcat图形管理和身份认证
  2. PHP中ini_set和ini_get函数用法简介
  3. 对软件工程课程的期望
  4. Cuckoo WIndows 安装
  5. mysql 基于时间分区_MySQL基于时间字段进行分区的方案总结
  6. Error: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-965200530-172.21.
  7. 如何在 .NET Core 中获取 CPU 使用率
  8. 【LeetCode笔记】621. 任务调度器(Java、桶)
  9. 记录一次在centos下使用gmp的悲伤
  10. php教育网站设计案例_南广东区优秀网站设计案例集锦第四期
  11. CentOS/RHEL Linux安装EPEL第三方软件源
  12. Dll学习心得(2)
  13. IXM317CQC回收IMX377CQT回收IMX307LQR-CIMX185LQJ-C回收IMX283CQT
  14. Matlab-Simulink文件类型总结
  15. 单片机原理及应用(c51语言版)(一)
  16. 直播app系统源码,简单的登录界面(登录、注册、记住密码等按键)
  17. Linux ——IP配置修改
  18. 不同光栅的结构特点、优缺点以及光栅的选择
  19. 《非暴力沟通》-马歇尔·卢森堡
  20. PPT 2010如何添加背景音乐

热门文章

  1. putty mtputty 设置utf8编码
  2. 【USACO】回文平方数
  3. Java并发编程之CAS和AQS
  4. 什么是GC Roots
  5. Swift 枚举简单使用
  6. 基于Yarn的Spark环境,统计哈姆雷特词频(1)
  7. Java多线程系列 JUC线程池01 线程池框架
  8. SecureCRT 连接oracle数据库xServer图形界面服务
  9. 9-3 数据分布概论
  10. lte 在网络覆盖方面应该注意哪些问题_TD-LTE网络深度覆盖三个受限因素及四大解决策略...