• 操作系统


    清华-学堂在线

    参考教材:1, Operating system concepts(操作系统概念) 2, Operating Systems-Internals and Design Principles(操作系统——精髓与设计原理)

    Menu:
    操作系统结构
    中断及系统调用
    内存管理
    进程及线程
    处理机调度
    同步互斥
    文件系统
    I/O子系统

    操作系统实验
    实验0:实验环境准备
    实验1:系统启动及中断
    实验2:物理内存管理
    实验3:虚拟内存管理
    实验4:内核线程管理
    实验5:用户进程管理
    实验6:CPU调度
    实验7:同步与互斥
    实验8:文件系统和

    操作系统负责管理计算机的硬件资源,编写软件是程序员的工作,把基于C语言或汇编语言的程序转换并生成执行代码是编译器(如gcc,gas)、连接器(如link)的工作。操作系统可加载运行应用软件的执行代码。

    在计算机内存中同时存放几道相互独立的程序,使它们在管理程序(早期的操作系统)控制之下,相互穿插的运行。两个或两个以上程序在计算机系统中同处于开始到结束之间的状态——提高效率

    分时操作系统把多个程序放到内存中,将处理机(CPU)时间按一定的时间间隔(简称时间片)分配给程序运行,这样CPU就可以轮流地切换给各终端用户的交互式程序使用。
    Unix操作系统支持交互式应用程序,属于分时操作系统。比早期的批处理操作系统要强大。且它更多地面向桌面和服务器领域,并没有很强的实时调度和实时处理功能,所以一边不划归为实时系统。它虽然有网络支持(如TCP/IP),但实际上它管理的主要还是单个计算机系统让的硬件和应用软件。 以ucore OS为例,它模仿的是Unix操作系统,实现了对应的分时调度算法(时间片轮转、多级反馈队列),所以也算是分时系统。如果ucore实现了实时进程管理、实时调度算法,并支持在内核中的抢占(preempt in kernel),则可以说它也是一个实时系统了。


    批处理操作系统没有考虑人机交互所需要的分时功能,所以开发人员或操作人员无法及时与计算机进行交互。

    操作系统是一种软件,特定指是系统软件,其更功能是管理计算机资源,让用户和应用程序更方便高效地使用计算机。 以ucore OS为例,其实没有用户程序,操作系统也可以正常运行。

    进程调度是属于操作系统的进程管理和处理器调度子系统要完成的工作,与设备管理没有直接关系。

    交互性和及时性是分时系统的主要特征。多道批处理系统主要考虑的是系统效率和系统的吞吐量。

    操作系统作为用户和计算机硬件系统之间的接口,用户可以通过3种方式使用计算机,命令方式、系统调用方式、图形方式。系统调用按照功能分为进程管理、文件操作、设备管理等,程序正在试图读取某个磁盘的第100个逻辑块,使用操作系统提供的系统调用接口

    并行指同一时刻同时发生,同一时刻单个处理器只能运行一个进程

    操作系统被加载到内存(RAM)中
    RAM 内存
    ROM 存储器,随机存储
    EPROM “可擦除可编程只读存储器”
    BIOS

    Ch1
    Ch1.3 操作系统软件组成:Shell+GUI+Kernel 命令行接口+图形用户接口+内部

     

    内核特征:并发,共享-同时访问+互斥共享,虚拟-多道程序设计程,序运行结果一致,异步-程序执行非一贯到底,环境同结果一致

    Ch1.4
    顶尖大学计算机科学部门
    旧时:Xerox(PARC),IBM,DEC(SRC),Bell Labs
    现代:Microsoft,Google,Yahoo,IBM,HP,Sun,Intel, VMware, Amazon,...
    国内:阿里巴巴、百度、华为...
    研究协会:ACM SIGOPS, USENIX
    ·ACM操作系统原理研讨会(SOSP)
    D ACM SIGOPS
    每两年(奇数:1967-)
    ~20论文
    ·USENIX操作系统设计和实现研讨会(OSDI)
    D USENIX
    每两年(偶数:1994-)
    ~20论文
    SIGOPS Hall-of-Fame Awards
    口论文必须发表在同行评议的文献中至少十年
    到目前为止有三十多篇论文获奖
    假如你想做操作系统研究
    需要阅读和理解这些论文
    http://www.sigops.org/award-hof.html

    Ch1.5UNIX家族 UNIX BSD

     

     LInux家族

     

     Window家族

     

    Ch1.6 演变
    单用户系统 ‘45-’55 装载器+通用子程序库 执行时间/(执行时间+读卡时间)=%利用率
    批处理系统 ’55-‘65

    多道程序系统'65-'80

    分时 ’70-

    个人计算机

    • 利用率已不再是关注点
    • 重点是用户界面和多媒体功能
    • 很多老的服务和功能不存在

    演变

    • 最初:操作系统作为一个简单的服务提供者(简单库)
    • 现在:支持协调和沟通的多应用系统
    • 口越来越多的安全问题(如,电子商务、医疗记录)


    分布式计算

    • 网络支持成为一个重要的功能
    • 通常支持分布式服务:跨多系统的数据共享和协调
    • 可能使用多个处理器:松、紧耦合系统
    • 高可用性与可靠性的要求

     

     

     Ch1.7  结构

    简单结构:MS-DOS-在最小空间设计功能(1981-1994)-汇编编写

     

    分层结构:

    操作系统分为很多层(levels):每层建立在低层之上;最底层(layer0),是硬件;最高层(layer N)是用户界面
    使用模块化,每一层仅使用更低一层的功能(操作)和服务。

    1972由 Kenneth Thompson和Dennis Ritchie在贝尔实验室设计设计用于UNIX操作系统的编码例程.

    “高级”系统编程语言创建可移植操作系统的概念

     UCore操作系统结构

     微内核结构Microkernel

    • 尽可能把内核功能移到用户空间
    • 用户模块间的通信使用消息传递
    • 好处:灵活/安全...
    • 缺点:性能

     

     外核结构Exokernel

    让内核分配机器的物理资源给多个应用程序,并让每个程序决定如何处理这些资源.
    程序能链接到操作系统库(libOS)实现了操作系统抽象保护与控制分离

     VMM虚拟机管理器

    虚拟机管理器将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始计算机系统的有效副本,并能完成所有的处理器指令。

     小结:

    操作系统很有趣,可以管理和控制整个计算机!
    但...

    • 它是不完备的:Bug、性能异常、功能缺失,有很多的挑战和机遇。
    • 它是庞大的:有许多概念、原理和代码需要了解。

    我们能做到!
    ...至少靠你自己的恒心和投入,完全可以在一个学理解OS的原理和ucore OS的实现。



  • 相关阅读:
    TYVJ1061 Mobile Service
    TYVJ1061 Mobile Service
    KMP 模板
    poj 3254 Corn Field
    poj 3254 Corn Field
    洛谷1279 字串距离
    poj 1041 John's trip——欧拉回路字典序输出
    bzoj 3033 太鼓达人——欧拉图搜索
    bzoj 2503 相框——思路
    bzoj 2935 [Poi1999]原始生物——欧拉回路思路!
  • 原文地址:https://www.cnblogs.com/Pucua/p/14984702.html
Copyright © 2020-2023  润新知