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

    1. 操作系统的定义

     操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,一般来说至少包括这些组成部分:操作系统内核(kernel),系统调用(system call),文件系统(file system),shell。

    一种较为狭义的定义是,操作系统是一直运行在计算机上的程序,即仅仅是kernel。例如Linus Totvlads所开发的linux,最初就只是一个内核程序。

    总之,操作系统作为软硬件的接口,提供一个访问硬件、使用硬件的平台,操作系统主要与硬件有关,可以被应用程序调用。

    2. 计算机系统组织和体系结构
    计算机系统的四个层次:硬件,用户,软件,操作系统,结构层次如右图所示。操作系统处于软件硬件之间。
    计算机系统组织:包括系统操作,存储结构和i/o结构。

    计算机系统体系结构:通过通用处理器的数量可以分成单处理器和多处理器系统。多cpu系统的另一种类型是集群系统。

    3. 操作系统结构
    多道程序系统:通过组织作业,使cpu总有作业可以执行,提高cpu的利用率。对于非多道程序系统,cpu在等待i/o时会处于空闲。而在多道程序系统下,cpu会切换到另一个作业,以此类推,直到第一个i/o完成,cpu重新切换到第一个作业。从而保证了cpu的利用率。

    分时系统(多任务系统):是多道程序设计的延伸,但是具有很高的作业切换频率,使用户可以在程序运行期间与之交互。这样同样可以支持多用户同时共享计算机,系统在不同用户进程间快速切换,而用户并不会感觉到。

    4. 操作系统操作
    为了操作系统的的正常执行,必须区分操作系统代码和用户代码的执行,所以至少需要两种模式:用户模式和监督程序模式(管理模式,系统模式,特权模式),一般通过在计算机硬件中增加一个模式位(mode bit),从而进行区分。
    系统调用(system call):一种进程请求操作系统执行动作的方法,为用户程序请求操作系统代表用户程序完成预留给操作系统的任务。具体实现途径由下层处理器决定。

    定时器;设定中断时间,确保操作系统对cpu的控制,防止用户陷入死循环或不调用系统服务。

    5. 操作系统主要组成
    目前的操作系统一般提供如下功能:
    1) 进程管理
    2) 内存管理
    3) 存储管理
    4) 保护和安全

    *关于内存和存储器的整体结构在下文单开一段详细讲述

    6. 存储结构简述

    操作系统提供了统一的逻辑信息存储观点,对存储设备的物理属性进行了抽象,定义了逻辑存储单元,即文件。操作系统将文件映射到物理介质上,并通过介质访问这些文件。
    由于内存容量有限且断电易失,所以需计算机系统提供二级存储器,一般采用硬盘。也有更为次级的存储器,称为三级存储或者remote secondary storage。
    高速缓存:信息通常存储在一个存储系统里,使用时会被临时复制到更快的存储系统中,我们称之为高速缓存。

    采用高速缓存的原因:CPU的运算速度比主内存的读写速度要快得多,这就使得CPU在访问内存时要花很长时间来等待内存的操作,这种空等造成了系统整体性能的下降。为了解决这种速度上的不匹配问题,我们采用了高速缓存。Cache的工作原理是基于程序访问的局部性。依据局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用。这对提高程序的运行速度有很大的作用。

    7. 计算环境
    1)传统计算
    2)客户机-服务器计算:具有图左所示的通用结构。
    3)对等计算

    客户机和服务器不加以区分,所有节点对等,都可以作为客户机或者服务器。

    8. 一些专用系统
    实时嵌入系统,多媒体系统,手持系统等

    参考资料:
    [1] Abraham Silberschatz. 操作系统概念. 高等教育出版社, 2007.3.
    [2]鸟哥的linux私房菜基础学习(第三版),人民邮电出版社,2010.7
    [3] Bryant,R.E 深入了解计算机系统,机械工业出版社,2011.1

  • 相关阅读:
    关于排列组合与分配问题
    Stirling数
    UVA 294 求约数的个数
    Linux中profile与bashrc的作用
    一致性哈希(consistent hashing)算法
    TCP三次握手与四次挥手
    MySQL查询昨天、今天、7天、近30天、本月、上一月数据
    java基础-注解Annotation原理和用法
    java基础-浅复制与深复制的理解
    Linux命令行提示符设置
  • 原文地址:https://www.cnblogs.com/JK-Z/p/12262058.html
Copyright © 2011-2022 走看看