计算机基础知识
  • 关于
  • 系统
    • 操作系统的概念、功能、目标
    • 操作系统的特征
    • 并发和并行的区别
    • 操作系统的发展与分类
    • 操作系统的运行机制和体系结构
    • 中断和异常
    • 用户态、核心态之间的切换是怎么实现的?
    • 系统调用
    • 进程的概念
    • 进程的状态和转换
    • 进程控制
    • 进程通信
    • 线程、多线程模型
    • 程序、进程和作业的关系
    • 处理机调度的概念、层次
    • 进程调度的时机、切换与过程、方式
    • 调度算法的评价指标
    • 批处理系统的调度算法
    • 交互式系统的调度算法
    • 进程同步与进程互斥
    • 进程互斥的软件实现方法
    • 进程互斥的硬件实现方法
    • 信号量机制
    • 用信号量机制实现进程互斥、同步、前驱关系
    • 生产者-消费者问题
    • 多生产者-多消费者问题
    • 吸烟者问题
    • 读者-写者问题
    • 哲学家进餐问题
    • 管程
    • 死锁的概念
    • 死锁的处理策略——预防死锁
    • 死锁的处理策略——避免死锁
    • 死锁的处理策略——检测和解除
  • 网络
    • 计算机网络的概念、组成、功能、分类
    • 标准化工作及相关组织
    • 性能指标之速率、带宽、吞吐量
    • 性能指标之时延、时延带宽积、往返时间RTT、利用率
    • 分层结构
    • OSI参考模型
    • TCP/IP参考模型
    • 5层参考模型
    • http与https的区别
    • TCP和UDP的区别
  • Java
    • Arraylist与LinkedList区别
    • HashMap,HashTable,ConcurrentHash的共同点和区别
  • 数据库
    • 为什么MySQL索引要使用B+树
由 GitBook 提供支持
在本页
  • 运行机制
  • 两种指令
  • 两种处理器状态
  • 两种程序
  • 操作系统内核
  • 操作系统体系结构
  • 大内核
  • 微内核
在GitHub上编辑
  1. 系统

操作系统的运行机制和体系结构

最后更新于2年前

运行机制

两种指令

分为非特权指令和特权指令。

非特权指令:有的指令“人畜无害”。比如:加、减、乘、除这些普通的运算指令。

特权指令:有的指令有很高的权限。比如:内存清零指令。如果用户程序可以使用这个指令,就意味着一个用户可以将其他用户的内存数据随意清零,这样做显然是很危险的。

两种处理器状态

分为用户态和核心态。用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态。如0为用户态,1为核心态。

当CPU处于用户态时,只能执行非特权指令。

当CPU处于核心态时,特权指令和非特权指令都能执行。

两种程序

分为内核程序和应用程序。

内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。

应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态。

操作系统内核

内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。

时钟管理:实现计时功能

中断处理:负责实现中断机制

原语:是一种特殊的程序,处于操作系统最底层,是最接近硬件的部分。这种程序的运行具有原子性其运行只能一气呵成,不可中断。运行时间较短、调用频繁。

对系统资源进行管理的功能:进程管理、存储器管理、设备管理。有的操作系统不把这部分功能归为“内核功能”。也就是说,不同的操作系统,对内核功能的划分可能并不一样。

操作系统体系结构

大内核

将操作系统的主要功能模块都作为系统内核,运行在核心态。

优点︰高性能

缺点:内核代码庞大,结构混乱,难以维护

微内核

只把最基本的功能保留在内核

优点:内核功能少,结构清晰,方便维护

缺点:需要频繁地在核心态和用户态之间切换,性能低

用户态、核心态之间的切换是怎么实现的?