os 9.19

操作系统9.19

windows体系结构

·自底向上:硬件|HAL -》内核 设备驱动程序-〉执行体|用户层

·设备驱动程序与硬件无关 与硬件相关在内核,HAL中

unix架构

·shell不属于内核

·device:字符型设备,块型设备(如磁盘)

device driver与硬件相关

块型设备-》buffer cache

linux android架构

·android使用linux内核 提供核心系统服务

在这之上是c与c++的库的集合

再上层为应用程序框架

操作系统的定义

  • 操作系统是一个系统软件,是一些程序模块的集合

  • 组织管理计算机的软硬件资源(尽量有效合理的方式)

  • 组织计算机的工作流程,控制程序执行并向用户提供各种服务功能

  • 令用户灵活方便使用计算机,使整个计算机系统能高效的运行

  • 有效: 系统效率,资源利用率(cpu利用的充足与否,IO设备是否忙碌)

    合理: 是否公平,合理

    方便使用: UI, API

从不同角度认知操作系统

软件观点

  • 外在特性: 界面, 接口 如:命令,系统调用

    内在特性: 内在特性

资源管理的观点

  • 自底向上 : 操作系统是资源的管理者

    硬件资源: CPU, 内存, 设备

    软件资源: 磁盘上的文件, 信息

  • 目的: 实现资源共享, 提高资源利用率

    资源共享实现方式: 时间,空间

  • 方式:

    1.跟踪记录资源使用状况(数据结构)

    2.分配和回收资源(算法) : 静态分配策略, 动态分配策略

进程的观点

  • 操作系统由一些独立的进程组成

虚机器观点

  • 将操作系统分成若干层: 1.降低复杂性 2.容易定位错误

操作系统的特征

并发(concurrency)

处理多个同时性活动的能力

  • 宏观上:同时在执行 微观上:任何时刻只有一个程序在运行(单cpu)

  • 引发的问题: 活动切换, 保护, 相互依赖的活动间的同步

并行(parallel)

与并发相似, 但多指硬件支持

共享(sharing)

操作系统与用户共同使用计算机系统中的资源

  • 互斥共享(打印机)

    同时访问(可重入代码,磁盘文件)

  • 问题: 资源分配难以达到最优化, 保护

虚拟(virtual)

一个物理实体映射为若干个对应的逻辑实体——-分时或分空间

  • 是操作系统管理系统资源的重要手段,可以提高资源利用率

  • CPU: 用户的虚处理机

    存储器:每个进程都占有的地址空间(代码+数据+堆栈)

    显示设备:多窗口或虚拟终端

随机性

操作系统必须随时对以不可预测的次序发生的事件进行响应

  • 进程的运行速度不可预知(有不可预测的事件发生使进程“走走停停”)
  • 难以重现系统在某个时刻的状态(包括重现运行中的错误)