• 操作系统【引论】


      操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,并未用户和应用程序提供一个简单的接口,便于用户使用。OS是现代计算机系统中最基本和最重要的系统软件,而其它的诸如编译程序、数据库管理系统等系统软件,以及大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务。事实上OS已成为现代计算机系统、多处理机系统、计算机网络中都必须配置的系统软件。

    操作系统的目的和作用

    目的:

      1.方便性:使用编译命令将用户采用高级语言书写的程序翻译成机器代码。

      2.有效性:第一层含义是提高系统资源的利用率;另一层含义是提高系统的吞吐量。

      3.可扩充性

      4.开放性:指系统能遵循世界标准规范,特别是遵循对OS的开放性系统互连OSI国际标准。

    作用:

      1.OS作为用户与计算机硬件系统之间的接口

      2.OS作为计算机系统资源的管理者

      3.OS实现了对计算机资源的抽象

     发展过程

      1.人工操作方式:用户独占全机,CPU等待人工操作。

      2.脱机输入输出方式:事先将装有用户程序和数据的纸带装入纸带输入机,在外围机的控制下,把纸带上的数据输入到磁带上(类似于磁盘)。当CPU需要时,从磁带将其高速地调入内存。反之类同。

        优点:减少了CPU的空闲时间,提高了I/O速度。

      3.单道批处理系统:首先监督程序将磁带第一个作业装入内存,运行控制权在该作业,该作业处理完成时,控制权交回到监督程序,再由监督程序把磁带上的第二个作业调入内存。系统自动对作业成批处理。(内存始终只保持一道作业—单道批处理)。

        缺点:内存浪费,不能充分利用系统资源。

      4.多道批处理系统:用户所提交的作业先存放在外存,排成一个“后备队列”,再由作业调度程序按一定的算法从队列选择若干作业调入内存,使他们共享CPU和系统中的各种资源。

        缺点:资源利用率提高,系统吞吐量大,平均周转时间长,无交互能力。

      5.分时系统:在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。因此,作业直接进入内存,采用轮转运行方式,系统配置一个多路卡(实现分时多路复用),及时接收用户终端命令(数据)。

        特征:多路性、独立性、及时性、交互性。

      6.实时系统:系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务的协调一致的运行。

        特征:多路性(周期性信息采集,多个对象或执行机构进行控制)、独立性、及时性、交互性、可靠性(多级容错措施)。

     基本特征

      1.并发性:

        引入进程:提高了系统资源的利用率和系统吞吐量,并改善了系统的性能

        引入线程:对它的调度所付出的开销比进程小的多,能更高效地提高系统内多个程序间并发执行的cheng程度。

      2.共享性:

        互斥共享方式:在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。

        同时访问方式:允许在一段时间内由多个进程同时对它们进行访问。

      3.虚拟技术:通过技术把一个物理实体变为若干个逻辑上的对应物

        1)时分复用技术:利用处理机的空闲时间运行其他程序,提高处理机的利用率

        2)空分复用技术:利用存储器的空闲时间存放其他程序,提高内存的利用率

      4.异步性:进程以不可预知的速度向前推进

    主要功能:

      1.处理机管理功能:

        1)进程控制:创建和撤销进程,分配资源、资源回放、控制进程运行过程中的状态转换

        2)进程同步:为多个进程运行协调

          进程互斥:为每个临界资源配置一把锁、进程同步

        3)进程通信:实现相互合作之间的进程之间的信息交换

        4)调度:作业调度,进程调度

      2.存储器管理功能:

        存储器管理的主要任务:为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,并能从逻辑上扩充内存。

        1)内存分配:静态分配、动态分配

        2)内存保护:确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。一种简单的内存保护机制是设置两个界限寄存器

        3)地址映射:将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址

        4)内存扩充:借助于虚拟存储技术,逻辑上扩充内存容量

      3.设备管理功能:

        设备管理的主要任务:完成用户进程提出的I/O请求,为其分配所需的I/O设备;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备

        1)缓存管理:缓和CPU和I/O设备速度不匹配的矛盾

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

        3)设备处理:用于实现CPU和设备控制器之间的通信

      4.文件管理功能:

        文件管理的主要任务:对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性

        1)文件存储空间的管理:为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的存、取速度

        2)目录管理:为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便按名存取,即用户之须提供文件名便可对该文件进行存取

        3)文件的读/写管理和保护

      5.操作系统与用户之间的接口:

        1)用户接口

        2)程序接口

    系统调用:

      如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而陷入内核,由操作系统代为完成。Linux的系统调用主要有以下这些:

        进程控制:fork();  exit();  wait();

        进程通信:pipe();  shmget();  mmap();

        文件操作:open();  read();  write();

        设备操作:ioctl();  read();  write();

        信息维护:getpid(); alarm(); sleep();

        安全:chmod();  umask();  chown();

    OS结果设计:

      传统的操作系统结构:

        无结构操作系统 ——> 模块化结构OS ——> 分层式结构OS

      1.大内核:

        大内核实将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。

      2.微内核:

        由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态

      微内核OS机构:

        1)足够小的内核

        2)基于客户/服务器模式

        3)应用”机制与策略分离“原理

        4)采用面向对象技术

      微内核的基本功能:

        1)进程(线程)管理

        2)低级存储器管理

        3)中断和陷入处理

      微内核操作系统存在的问题:运行效率低

      微内核OS的效率降低的最主要原因:

        频繁的在用户态和核心态之间进行切换。即在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式以及上下文的多次切换

    中断分类:

      外中断:

        由CPU执行指令以外的事件引起,如I/O完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。异常由CPU执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。陷入在用户程序中使用系统调用。

    人生就是要不断折腾
  • 相关阅读:
    keyCode 与charCode
    阻止事件冒泡的三种手段
    jquery实现二级菜单
    static public和 public static 区别
    java单例模式
    使用jqueryui
    正则表达式
    PHP中mysql_affected_rows()和mysql_num_rows()区别
    PHP中冒号、endif、endwhile、endfor这些都是什么
    jqueryMobile
  • 原文地址:https://www.cnblogs.com/xiangxiaolin/p/13289007.html
Copyright © 2020-2023  润新知