最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

期末复习——操作系统概述 chapter(0+1)

来源:博客园

MEMO

  1. OS:管理计算机硬件的软件;为应用程序提供基础;充当计算机硬件与用户之间的媒介。存于磁盘。一个一直运行在计算机上的程序(也叫kernel内核);
  2. 计算机系统可以粗分为:硬件、OS、应用程序、用户;or 硬件、软件、数据。
  3. 计算机逻辑层次:应用程序-->系统程序-->OS-->硬件
  4. 程序:OS(kernel内核)、系统程序(不是内核一部分)、应用程序;
  5. 多核单CPU:一般情况,多核间通信共享内存。多个单核CPU:每个CPU较为独立。
  6. L1高速缓存:内置于CPU
  7. 系统程序:也叫系统工具,处于应用程序与OS交界层。种类1. 文件管理 2. 状态信息(时间、内存、磁盘空间……) 3. 文件修改 4. 程序语言支持 5. 程序加载执行 6. 通信 7. 后台服务

OS 功能

  • 用户视角:便于使用、资源管理
  • 系统视角:资源分配器;控制程序(管理用户程序执行)多道程序设计:通过合理安排使得CPU总有一个执行任务,提高CPU利用率。

因为要实现多道程序设计,OS在内存中要同时保存多个任务-->作业池 job pool


(资料图片仅供参考)

  • 虚拟内存优点:用户可以执行内存大于物理内存的程序。
  1. 提供用户功能
    1. 用户界面:CLI命令行界面 or 批处理界面 e.g.GUI图形用户界面
    2. 程序执行:程序加载到内存中运行
    3. I/O操作
    4. 文件系统操作
    5. 通信:进程间(共享内存、消息传递)、网络连接的不同计算机之间
    6. 错误检验
  2. 确保系统本身高效
    1. 资源分配:CPU周期、I/O设备……
    2. 记账:记录用户使用资源的类型和数量
    3. 保护与安全

OS执行

现代OS是中断驱动的,陷阱(异常)是软件生成中断(可能因为一些/0错误、用户特定请求)

  • 用户模式
  • 内核模式:遇到陷阱or中断

中断and陷阱(异常)

  • 中断(外中断):CPU指令外部事件,e.g.I/O完成、时间片到期
  • 陷阱/异常(内中断):CPU指令内部事件,e.g.程序非法操作、地址越界、运算溢出、虚拟内存缺页……

系统调用

系统调用提供OS服务接口,与kernel直接相关,仅在kernel态运行。。通过中断-->向内核请求-->获取内核服务。通常用C/C++/汇编语言编写(fast)。而API应用编程接口,一系列定义好的函数e.g.printf()、read(),提高程序可移植性。

类型WindowsUNIX
进程控制CreateProcess()fork()
CreateProcess()fork()
WaitForSingleObject()wait()
文件管理CreateFile()open()
ReadFile()read()
WriteFile()write()
CloseHandle()close()
设备管理--
信息维护--
通信CreatePipe()pipe()
CreateFileMapping()shm_open()
MapViewOfFile()mmap()

向OS传递参数

  1. 利用register寄存器
  2. 存在块or表中,寄存器存储 块or表 的地址
  3. 压用堆栈,利用OS弹出

内核存储结构

  • 链表、堆栈、队列
  • 树(红黑树)
  • 哈希函数、哈希表
  • 位图:第i位与第i个资源有关。

计算机系统组成

存储结构

  • 内存:(主存)CPU能访问的存储空间,易失性,断电后数据消失。ROM、DRAM、RAM、
  • 外存:(辅存)断电后仍然可以保存数据,磁盘、硬盘、固态磁盘(快于磁盘)

寄存器-->高速缓存L1、L2……-->主存-->固态存储-->硬盘、、、

I/O结构

  • 当程序要从硬盘读取一个文件时,先检查内存中是否有数据。若没有数据,则执行实际I/O。I/O操作执行时,用户线程将阻塞等待数据从硬盘写到内存中。对于用户来说线程是被阻塞的。
    • 不中断:CPU忙等,不断轮询访问是否结束I/O,浪费CPU
    • 有中断:CPU调度其他线程,I/O执行完之后,原线程发中断信号通知CPU,然后恢复进程(or线程)上下文信息。

计算机体系结构

  • 单处理器系统:系统只有1个通用CPU
  • 多处理器系统
  • 集群系统

多处理器系统

也叫并行系统、多核系统。

  • 优点

    1. 增加吞吐量:短期内完成更多工作
    2. 规模经济:共享数据等待
    3. 增加可靠性:如果某个核故障,可顶替
  • 非对称处理系统(主从系统):高可靠性(从处理器向主处理器要任务or做预先规定任务)

  • 对称处理系统SMP:现代大多OS支持,每个处理器都参与。高效

集群系统

≥2个独立系统组成,每个系统可单可多组合。松耦合。

  • 对称集群:都运行程序,互相监督复杂的应用调试
  • 非对称集群:一台跑程序、一台热备份(监视活动服务器)缺点:一台过度利用,一台没充分利用

提供高可用性服务,相比单核、SMP有更强大的计算能力-->并行计算

OS设计

用户目标and系统目标

策略与机制分离

  • 策略policy:what to do
  • 机制mechanism:how to do,实现

这样“实现”对功能不敏感更加可取,避免每次策略policy的改变要重定义很多很多东西。(这个好理解,和各种分层、函数道理一样)

OS常见结构

简单结构

MS-DOS:没有很好区分功能的接口and层次。早期UNIX:两部分:内核+系统程序。发展成单片结构(UNIX、Linux、Windows仍采用简单单片结构)

分层方法

自顶向下,简化构造和调试。向上隐藏具体实现。难点:合理定义各层、效率较差。

模块化 可加载的内核模块

现代UNIX(Solaris、Linux、Mac OS)和 Windows实现

  • 核心:内核提供核心服务,其他服务在内核运行时动态实现。

微内核

Mach OS。消息传递通信模型、中断陷阱处理,都在内核内完成,大多数服务作为用户进程运行(e.g.文件服务),而不是内核进程。so一个服务出错不会影响OS其他部分。优点:灵活利于拓展。可移植性强。安全。采用机制、策略分离

宏内核

单内核/大内核。目前主流操作系统基于宏内核架构

混合系统

Mac OS X 和 两个移动操作系统:iOS、Android(有Dalvik虚拟机)

OS调试

故障分析

  • 进程故障-->写到日志文件,OS也进行核心转储core dump,捕获进程内存,保存到另一文件以便以后分析。
  • 内核故障called崩溃crash-->错误信息保存到日志文件,内存状态保存到崩溃转储crash dump

OS生成

SYSGEN程序,获取硬件配置

系统引导

生成OS后,硬件需要知道内核在哪。--> 引导程序汇编语言编写,存放于固件,“固化的软件”,不是外存!!OS存放于磁盘,e.g.只读内存ROM。引导程序定位内核,加载到内核执行。e.g.GRUB引导Linux系统。

  • 开机/重启时运行,初始化各组件,定位OS,加载到内存。

关键词: 应用程序 系统程序 存储结构