zoukankan      html  css  js  c++  java
  • 操作系统原理(一),概述

    Technorati 标签: 操作系统,原理

    clip_image001

    第一章 引论

    什么是操作系统?对用户而言,操作系统是用户与硬件接口,它将硬件资源抽象出来,方便调用。对硬件而言,它是计算机资源的调度者。所以

    操作系统:可以提供给其他程序方便编写并运行的程序。

    由程序来运行程序,而不是程序自己来运行,这是操作系统提供的虚拟化的表现
    clip_image002

    1.1 操作系统发展

    1.1.1 单任务模式

    计算机只能被一个程序独占。

    1.1.2 OS的多任务模式

    加电之后,首先运行OS,随时可以载入其他程序执行。执行完以后切换回OS本身。

    但是每次还是要等待这个程序执行完毕,才能接着载入下个程序执行。任何中断事件,都会中断正在运行的程序。

    程序执行完毕,会将CPU归还给OS。从而继续OS本身的运行。这种操作系统就是单任务操作系统,典型代表就是DOS。

    批处理:OS将多个程序一个一个的排列起来。省去了人为载入的过程。所以批处理操作系统相对单任务来说又进了一步,但是本质仍然是一个程序独占资源。

    再后来OS针对系统时钟中断开发了中断服务程序,也就是多任务OS中的调度程序。中断来临,CPU根据中断向量表的内容,指向调度程序所在的内存地址入口,执行调度程序的代码。调度程序将CPU的执行跳转到各个应用程序所在的内存地址入口。每次中断,调度程序以一定的优先级,指向不同程序的入口。如果还没执行完,会自动保存运行状态。从微观上看,每个应用程序独占CPU,但是时间非常小,10ms

    多任务操作系统的关键就是有多任务调度程序。

    1.1.3 虚拟化的好处

    虚拟化的好处是,将下层复杂的逻辑转换为上层简单的逻辑,方便人类读懂。

    1.2 操作系统的主要功能

    操作系统的主要功能有:

    • 进程的创建和调度
    • 内存空间的管理
    • 设备管理
    • 文件系统管理

    可以看出操作系统其实涵盖了计算机的CPU、内存、IO设备等最基本要素的管理。再一次印证了操作系统其实就是硬件与用户的接口,可以将下层复杂逻辑转换为用户易懂的逻辑。相当于用户的大管家。

    1.3 操作系统的架构

    操作系统是用户和硬件主机的接口,核心功能在于任务调度和硬件抽象,现有的操作系统之间的最大不同在于内核在总体代码里面的比重。

    主要有单内核、混合内核、微内核、外内核这几种架构。

    单内核、混合内核、微内核、外内核的区别
    clip_image003

    • 单内核:内核所有的功能代码全部都运行在同一个内核空间内,优点是性能性能很高,缺点是设计复杂,稳定性不够好;
    • 微内核:类似C/S服务模式,只有最基础的代码会运行于内核空间,其他的都运行于用户空间,通过消息机制来交互信息。优点是稳定性高,缺点性能较低;
      clip_image004
    • 混合内核:性能与稳定的妥协产物,完全由设计者进行用户自定义;
    • 外内核:比微内核更加极端,连硬件抽象工作都交给用户空间,内核只需要确保应用程序访问硬件资源时,硬件是空闲的
    也可以参见简书主页:https://www.jianshu.com/u/482f183ec380
  • 相关阅读:
    LoadRunner脚本转化成Jmeter脚本
    LoadRunner场景运行错误解决方法
    IntelliJ IDEA lombok插件的安装和使用
    js瀑布流加载数据
    js获取浏览器高度和宽度值(多浏览器 图解经典) 转载
    MPMoviePlayerViewController和MPMoviePlayerController
    NSString的内存管理问题
    cocos2D icon
    Singleton 单例模式
    Cocos2d中各种坐标位置关系
  • 原文地址:https://www.cnblogs.com/dy2903/p/8278718.html
Copyright © 2011-2022 走看看