zoukankan      html  css  js  c++  java
  • 操作系统~

    操作系统

    1. 掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行。
    2. 掌握操作系统进程、内存、文件和I/O管理的策略、算法、机制以及相互关系。
    3. 能够运用所学的操作系统原理、方法去分析问题和解决问题并能用C语言表述相关算法

     

    操作系统概念   :是配置在计算 机硬件上的第一层软件,

    目标:

             1 方便:通过 OS 所提供的各种命令来使用计算机系统。否则人必须用机器语言 0  1 写程序 给计算机识别。

              2 有效:可使 CPU 和 I/O 设备由于能保持忙 碌状态而得到有效的利用,

              且可使内存和外存中存放的数据因有序而节省了存储空间。提高系统的吞吐量。还可以通过合理地组织计算机的工作流程,进一步 改善资源的利用率,加速程序的运行,缩短程序的运行周期 

    方便性和有效性是设计操作系统时最重要的两个目标。

    另外还有,可扩充性:方能适应计算机硬件、体系结构 以及应用发展的要求。开放性:系统必须提供统一的开放环境。

     

    从不同角度看操作系统作用。

    一般用户角度,与硬件系统的接口。OS 处于用户与计算机硬件系统之 间,用户通过 OS 来使用计算机系统

    资源管理角度:管理计算机资源。

    用户可以通过下面三种方式使用计算机:

       窗口(最普遍)

       系统调用(用户在自己 的应用程序中,类似 Java代码创建文件) 

       命令

    资源管理角度:管理计算机资源。

          资源包括  处理器  I/O设备(操作i/o)  存储器(内存分配回收)  文件管理【 信息(数据和程序)】

     操作系统是虚拟机。

           虚拟机是什么?通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

          虚拟机技术是虚拟化技术的一种,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存。

     

    操作系统四个特征:并发 虚拟 异步 共享

    并发性:

      理解下 并发和并行区别:

          并发是两个任务可以在重叠的时间段内启动,运行和完成。并行是任务在同一时间运行,例如,在多核处理器上。
         并发是独立执行过程的组合,而并行是同时执行(可能相关的)计算。
         并发是一次处理很多事情,并行是同时做很多事情。
         应用程序可以是并发的,但不是并行的,这意味着它可以同时处理多个任务,但是没有两个任务在同一时刻执行。(在一边煮着饭,同时手边炒菜。这两件事都是在一个时间段发生的,)
         应用程序可以是并行的,但不是并发的,这意味着它同时处理多核CPU中的任务的多个子任务。(一边吃东西一边看书,同时进行)
         一个应用程序可以即不是并行的,也不是并发的,这意味着它一次一个地处理所有任务。(看题,一道一道地往下看)
         应用程序可以即是并行的也是并发的,这意味着它同时在多核CPU中同时处理多个任务。

        

    引入进程:

        进程是正在运行的程序的实例。资 源的分配和调度的一个独立单元。 

        多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态, 这些程序共享计算机系统资源。与之相对应的是单道程序,即在计算机内存中只允许一个的程序运行。 

                  多个进程之间可以并发执行和交换信息

     引入线程: 

                  一个进程中可以包含若干个线程。是CPU调度的基本单位。

     共享性  

           在内存的多个进程(线程)可以共享资源。

           有些资源可以  互斥 有些 同时共享。看 此博文 对这个观点形象举例       http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

     虚拟技术:

        是指通过某种技术把一个物理实体变为若干个 逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,仅是用户感觉上 的东西。

            虚拟处理器:

    比如说只有一个CPU,但是微信和微博两个进程处理的时候会被处理为两个虚拟的独立的逻辑CPU,各自为进程工作。

     异步性

          在多道程序环境下,允许多个进程并发执行。但由于资源等因素的限制,进程的执行通常并非一气呵成,而是以走走停停的方式运行。内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成,都是不可预知的。故而作业完成的先后次序与进入内存的次序并不完全一致,亦即进程是以异步方式运行的。但在有关进程控制及同步机制等的支持下,只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因而异步方式是容许的。

    因此,操作系统便具有了异步性特征。

    操作系统 的主要功能:

    处理器管理:处理器是以进程为基本单位,所以 他的管理 可看着是 进程(线程)管理。创建、撤销(结束后回收资源)进程,调度进程的运行。信息交换。按照一定的算法把资源分配给进程(作业调度)。

      进程控制的主要功能是  为作业创建进程,撤消已结束的进程,以及控制进程在 运行过程中的状态转换。

      协调机制多个进 程(含线程)的运行进行协调。

    有两种协调方式:

       进程互斥方式

      进程同步方式。这是指在相互合作去完成共同任务的诸进程(线程)间,由同步机构 对它们的执行次序加以协调

      进程通信 

           通信举例:例如,有三个相互合作的进程,它们是输入进程、计 算进程和打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数 据进行计算,并把计算结果传送给打印进程;最后,由打印进程把计算结果打印出来。进 程通信的任务就是用来实现在相互合作的进程之间的信息交换。

      总结就是  源进程利用发送命令直接将 (Message)挂到目标进程的Message队列上,以后由目 标进程利用接收命令从其Message队列中取出Message。 

      调度

      后备队列等待 的每个作业需要调度才能执行。

      分为进程调度,作业调度。

      作业调度是 按照一定算法,从后备队列中取出若干个 作业,分配资源(内存),为他们建立进程,使他们变成 就绪进程。

      进程调度:从进程的就绪队列中,选一个进程,分配资源,执行。

    存储器管理

      为多道程序有个良好的运行环境,有内存分配,内存保护、地址映射、内存扩充等功能。

      内存扩充不是从物理上扩充内存,而是虚拟存储技术逻辑上扩容。

      内存保护是 需要每个用户程序在自己的内存范围运行。不能用户程序访问操作系统的数据和程序。用户也不能访问非共享内存。

      方法是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。硬件进行越界检查。

      地址映射:程序中地址是 逻辑地址。内存地址是物理地址。逻辑地址转为物理地址。该功能应在硬件的支持下完成。

    设备管理:

      管理所有的外围设备。目标是方便使用,提高cpu和i/o设备的利用率。提高输入输出速度。所以需要

          缓冲区管理

         设备的分配和回收:根据用户进程的 I/O 请求、系统的现有资源情况以及按照某种设 备的分配策略,为之分配其所需的设备

         设备处理:又叫设备驱动程序。  完成cpu和设备控制器之间的通信。

    操作系统给用户提供两个接口方便使用计算机。

        用户接口:联机用户接口(分时os的交互控制 --多用户,多程序共享资源),脱机用户接口(bat,Unix的shell) ,图形接口

        程序接口:程序功能调用

     中断 异常 陷阱 留待后面了解。

  • 相关阅读:
    服务上线怎么兼容旧版本?
    abstract class和interface有什么区别?
    Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
    寒假每日日报49(开发家庭记账本APP——进度十)
    寒假每周总结7
    寒假每日日报48(开发家庭记账本APP——进度九)
    寒假每日日报47(开发家庭记账本APP——进度八)
    寒假每日日报46(开发家庭记账本APP——进度七)
    寒假每日日报45(开发家庭记账本APP——进度六)
    寒假每日日报44(开发家庭记账本APP——进度五)
  • 原文地址:https://www.cnblogs.com/yizhizhangBlog/p/10084206.html
Copyright © 2011-2022 走看看