zoukankan      html  css  js  c++  java
  • 操作系统原理之操作系统简介(第一章)

    一、 什么是操作系统

    操作系统:是一种复杂的系统软件,是不同程序代码、数据结构、数据初始化文件的集合,可执行。

    操作系统是用户与硬件之间的接口:操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境

     资源的管理理者:

    • 处理理机管理:决定把处理机先给哪个程序⽤,后给哪个程序⽤
    • 内存管理:给程序分配内存空间
    • 设备管理:完成怎么分配设备,分配哪台设备,怎么和设备连接等
    • 文件管理:为每个⽂件分配空间、建⽴⽬录,对⽬录进⾏组织管理 以及根据⽤户请求从外存读取数据或将数据写⼊外存

    二、 操作系统的发展

    单道 批处理系统

    • 单道批处理系统内存中只有⼀道作业     
    • 特点:⾃动性、顺序性、单道性
    • 优点:减少了等待人工操作的时间  
    • 缺点:CPU资源不能得到充分的利用

    多道 批处理系统:由操作系统的作业调度程序按⼀定策略从后备作业队列中选择若⼲个作业 调⼊内存,使它们共享CPU和系统中的各种资源

    • 特点:多道性、⽆序性、调度性、复杂性
    • 优点:提搞的CPU、内存、I/O设备的利用率和系统的吞出来
    • 缺点:系统平均周转时间长

    分时 操作系统:允许多个⽤户通过终端机同时使⽤计算机,每个⽤户通过终端与主机交互 时都能得到快速响应

    • 特点:多路性、独⽴性、及时性、交互性

    实时 操作系统:实时系统必须及时响应外部事件的请求,在规定时间内完成 对该事件的处理。主要⽤于实时控制和实时信息处理领域

    • 特点:多路性、独⽴性、及时性、交互性、可靠性

    操作系统产品现状

     三、 操作系统的特征

    现代操作系统都⽀持多任务, 具有并发、共享、虚拟和异步性特征。

    • 并发:两个或者多个事件在同一时间间隔内发生。主要由于引入多道程序系统,从而使操作系统具有并发性
    • 共享:系统中的资源可供内存中多个并发执行的进程共同使用
    • 虚拟:最常用内存虚拟化,用户感觉到的内存大于实际内存
    • 异步:进程以不可预知的速度向前推进

    四、 操作系统的功能

     内存管理:内存管理的主要任务是为多道程序的运⾏提供良好的 环境,⽅便⽤户使⽤内存,提⾼内存的利⽤率,以及 从逻辑上扩充内存以实现虚拟存储。

    1)内存分配 :主要任务是为每道程序分配内存空间,可采⽤两种分 配⽅式,即静态分配⽅式和动态分配⽅式。静态分配⽅式:先把内存划分为大小数量固定的区域之后不在变化。动态分配⽅式:根据进程实际请求分配内存。

    2)内存保护:主要任务:⼀是使操作系统内核的空间不会被⽤户随意访问,以保证系统的安全和稳定;⼆是确保每道⽤户程序都在⾃⼰的内存空间中运⾏,互不⼲扰。操作系统实现内存保护的⽅式之⼀: 采⽤界限寄存器存放允许程序访问的地址区间的上限 和下限。

    3)地址映射:CPU执⾏程序过程中访问内存时,需要把程序的逻辑 地址转变为物理地址,这个转换过程称为地址映射

    4)内存扩充:借助于虚拟技术,从逻辑上扩充内存容量,使系统能 够向⽤户提供⽐物理内存⼤的存储容量。

    内存扩充的实现方式:1、请求调⼊: 允许系统在装⼊⼀部分⽤户程序时就启动该程序运 ⾏,在程序运⾏过程中若发现要执⾏的指令或访问的 数据尚未装⼊内存,通过请求调⼊将需要指令或数据 装⼊内存;2、置换功能: 在请求调⼊时,若发现内存空间不⾜,需要先将内存 中的⼀部分内容换到外存中,以便腾出内存空间装⼊ 当前需要的内容。

     进程管理:进程的描述与组织、进程控制、进程同步、进程通信 及进程调度

    设备管理:设备管理主要是完成⽤户的I/O请求,为⽤户分配I/O设备。设备管理具有以下功能: 1)缓冲管理 2)设备分配 3)设备处理 4)设备独⽴性和虚拟设备(设备独⽴性功能使应⽤程序独⽴于物理设备)

     *************************************************提供用户接口*****************************

    图形⽤户接⼝:⽤户可以轻松地通过选择窗⼝、菜单、对话框、 滚动条、图标等简单的操作来完成对作业和任务 的提交与控制。

     程序接⼝:系统调⽤是⼀组预先定义好的模块,它们提供⼀条 管道让应⽤程序或⽤户能由此得到核⼼程序的服务

    系统调用:操作系统为程序员提供的接口是一组系统调用

     五、操作系统的体系结构

     

     

     六、 指令的执行

    程序是指令的集合,程序的执⾏就是按照某种控制流执⾏指令的过程。

     

     ********************************************指令动作***************************************************

  • 相关阅读:
    SpringMVC之@RequestMapping、ThreadLocal、DBCP、JNDI数据源管理
    安全威胁的分类
    软件可靠性的一些关注点
    LibTomMath + vs2008,安装和测试程序
    winxp下,Ice3.4.1 + VS2008_sp1,这个组合安装有点麻烦
    逗号操作符简化代码
    转,F5负载均衡算法及基本原理(Intro to Load Balancing)
    JVM大内存分析,不推荐jmap+jhat,推荐JProfiler
    选择soapUI做性能测试,这就是悲剧的开始
    关于linux LVM的好图 (Logic Volume Management,逻辑卷管理)
  • 原文地址:https://www.cnblogs.com/jalja/p/11553418.html
Copyright © 2011-2022 走看看