【系统架构师修炼之道】(12):操作系统基础知识——操作系统的原理,类型和结构

定义

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行,操作系统能有效组织和管理系统中的各种软,硬件资源,合理组织计算机系统的工作流程,又控制程序的执行,为用户提供一个良好的操作环境。

作用

  • 通过资源管理,提高计算机系统的效率。

  • 改善人机界面,向用户提供友好的工作环境。

CPU

(Central Processing Unit)是一块超大规模的集成电路,主要解释计算机指令以及处理计算机软件中的数据,包括

  • 运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)

  • 高速缓冲存储器(Cache)

  • 数据(Data)

  • 总线(Bus)

存储器

存储程序和各种数据,它采用具有两种稳定状态的物理器件来存储信息,日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。

输入输出设备

向计算机输入和输出数据和信息的设备,能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据。

系统软件和应用软件

  • 系统软件是指控制和协调计算机以及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统。例如:操作系统和一系列基本工具(比如:编译器,数据库管理,存储器格式化,用户身份验证,网络连接)

  • 应用软件是和系统软件相对的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。例如:办公室软件,互联网软件,多媒体软件,分析软件,协作软件。

关系

分类

  1. 单用户操作系统
    早期的微型计算机上运行的操作系统每次只允许一个用户使用计算机,被称为单用户微机操作系统,如CP/M,MS-DOS等。

  2. 批处理操作系统
    采用批量处理作业技术的操作系统称为批处理操作系统。其中批处理作业是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。并且分为单道批处理系统和多道批处理系统,不具有交互性。

    • 多道:同时多个作业在外存中排好队列,系统按一定的调度原则从后备作业队列中选出一个或者多个作业进入内存。

    • 单道:内存中仅有一道程序运行。

  3. 分时操作系统
    一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。

  4. 实时操作系统
    当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

    • 硬实时
      如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束

    • 软实时
      生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象

特点

    • 异步的事件响应

    • 切换时间和中断延迟时间确定

    • 优先级中断和调度

    • 抢占式调度

    1. 网络操作系统
      除了实现单机操作系统全部功能外,还具备管理网络中的共享资源,实现用户通信的操作系统
      常见的

      • UNIX 美国贝尔实验室开发的一种多用户、多任务的操作系统

      • NetWare Novell公司开发的网络操作系统

      • Linux 芬兰赫尔辛基大学的一名学生开发

      • Windows NT4.0 Windows NT4.0共有两个版本:Windows NT Workstation(工作站版)和Windows NTServer(服务器版)

    6.分布式软件系统
    支持分布式处理的软件系统,它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。

    7.嵌入式操作系统
    用于嵌入式系统的操作系统,例如:Arm-Linux,pSOS,Android,Symbian

    特点

    • 系统内核小

    • 专用性强

    • 系统精简

    • 高实时性

    • 多任务的操作系统

    特征

    • 并发性
      两个或多个事件在同一时间间隔内发生(并行性是指两个或多个事件在同一时刻发生)

    • 共享性
      资源共享

    • 虚拟性
      一个物理上的实体,变为若干个逻辑上的对应物

    • 异步性
      多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的

    功能

    • 处理器管理
      处理中断事件

    • 文件管理
      操作系统对信息资源的管理

    • 存储管理
      内存储器的管理,分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰

    • 设备管理
      管理各类外围设备

    • 作业管理
      完成每个用户请求的独立操作,包括作业的输入和输出,作业的调度与控制。


    感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,你的鼓励是作者写作最大的动力,
    如果您认为本文质量不错,读后觉得收获很大,不妨小额赞助我一下,让我更有动力继续写出高质量的文章。

    • 支付宝

    • 微信

    作 者 : @mousycoder

    原文出处 : http://mousycoder.com/2015/10/14/the-pragmatic-sa-12/

    创作时间:2015-9-1

    更新时间:2015-10-16

    你可能感兴趣的:(系统架构师修炼之道)