【操作系统/OS笔记02】操作系统的历史、操作系统结构
本次笔记内容:
1.4 如何学习操作系统
1.5 操作系统的实例
1.6 操作系统的历史
1.7 操作系统结构
1.8 小结
文章目录
- 操作系统的大概分支
- 操作系统的历史和演变过程
- 操作系统结构
- 微内核
- 外内核
- 虚拟机 VMs
操作系统的大概分支
UNIX家族: UNIX BSD是由伯克利在UNIX之上开发的开源操作系统。UNIX和C语言由一个团队开发,UNIX由C开发。
Linux家族: 类UNIX的操作系统。安卓的内核也为Linux Kernel。
Windows家族: 最初为DOS系统。桌面占统治地位,移动端与服务器较为弱势。Windows操作系统让不懂计算机的开始使用计算机。
还有很多面向不同的对象的操作系统。
操作系统的历史和演变过程
- 早期计算机使用纸带传输程序和数据,操作系统只起到加载作用。
- CPU等硬件快速发展,计算机速度得到提升(批处理阶段/离线处理)。操作系统初步形成,初步体现操作系统并发特征。
- 内存容量越来越大、CPU执行多个程序(多道程序设计)。在程序1等待I/O操作时,操作系统去执行程序2,而不是等待程序1。
- 但是多道程序设计交互性不够好。为了更好地利用计算机资源,并且更好地和用户交互,出现了分时交互系统。两个程序轮流占用资源,比如程序A占用千分之一秒,程序B接上,运行千分之一秒后,又交给A。外设(时钟)定期产生中断,帮助操作系统完成相应的分时调度。
- 个人电脑操作系统,Windows的GUI更加用户友善。
- 多核多处理普遍存在。
- 网络快速发展,出现了分布式操作系统。松耦合、紧耦合系统由分布式操作性管理。
- 未来,生活中存在大量嵌入设备。
操作系统结构
简单的操作系统:MS-DOS(1981~1994)
不分模块的单体内核,用汇编语言设计。
Unix操作系统是1972由贝尔实验室设计,用C语言设计(有可移植性)。
微内核
为了将内核尽量小巧,提出微内核的设计,尽可能把内核功能移植到用户空间。功能作为进程,其之间通过内核的消息传递机制进行协调。微内核为松耦合结构。
微内核设计代价:程序间交互要通过内核,进行多次拷贝,开销较大。因此微内核在产业界应用较少。
外内核
速度快,主要在学术界有进一步研究。
ExoKernel(读作XO Kernel),与硬件打交道,完成硬件的
LibOS与软件打交道,程序可以面向自己的LibOS,再统一面向ExoKernel。
LibOS与应用紧耦合。ExoKernel完成硬件的隔离。
虚拟机 VMs
在传统OS之下,虚拟出多个计算机系统。在计算机系统上虚拟出一台完整的计算机,包含全部物理环境。多操作系统共享硬件资源。
【操作系统/OS笔记02】操作系统的历史、操作系统结构相关推荐
- 操作系统学习笔记 第一章:操作系统概述(王道考研)
本文章基于 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 后续章节陆续推出- ...
- 【操作系统/OS笔记16】进程间通信(IPC),直接/间接通信与阻塞/非阻塞通信,信号,管道,消息队列,共享内存
本次笔记内容: 11.8 IPC概述 11.9 信号.管道.消息队列和共享内存 文章目录 进程间通信(Inter-Process Communication, IPC)概述 为什么要进程间通信? 直接 ...
- 操作系统OS笔记(未完)
硬件所做的事情 1.产生某种标记,比如中断标记 2.cpu得到这种标记后就会找到对应的中断处理然后告知操作系统 软件(操作系统) 1.保存当前程序状态,比如当前寄存器数据等等,以便中断结束后恢复 2. ...
- 【操作系统/OS笔记13】信号量、PV操作、管程、条件变量、生产者消费者问题
本次笔记内容: 10.1 背景 10.2 信号量 10.3 信号量的使用 10.4 信号量的实现 10.5 管程 文章目录 信号量的提出背景 信号量(semaphore) 信号量数据类型 信号量类似铁 ...
- 【操作系统/OS笔记10】进程/线程的调度原则、调度算法、实时调度、多处理器调度、优先级反转
本次笔记内容: 8.1 背景 8.2 调度原则 8.3 调度算法1 8.4 调度算法2 8.5 实时调度 8.6 多处理调度与优先级反转 文章目录 CPU调度背景 上下文切换 CPU调度 在进程/线程 ...
- 【操作系统/OS笔记03】启动、中断、异常和系统调用
本次笔记内容: 2.1 启动 2.2 中断.异常和系统调用 文章目录 启动 BIOS加载Bootloader 操作系统与设备和程序交互 定义 从源头区分 从处理时间区分 从响应区分 中断.异常和系统调 ...
- 【操作系统/OS笔记01】课程概要、什么是操作系统
本次笔记内容: 1.1 课程概述 1.2 什么是操作系统 1.3 为什么学习操作系统 文章目录 课程概要 纲要 实验工具 预备知识 操作系统 什么是操作系统? 操作系统包含什么 OS Kernel的特 ...
- 现代操作系统原理与实践03:操作系统结构
目录 1 操作系统的目标 2 操作系统的机制与策略 3 操作系统复杂度管理方法 3.1 模块化(modularity) 3.2 抽象(abstraction) 3.3 分层(layering) 3.4 ...
- 【操作系统/OS笔记20】打开文件、文件数据块分配、空闲空间管理、多磁盘管理(RAID)、磁盘调度算法概述
本次笔记内容: 12.12 打开文件的数据结构 12.13 文件的分配 12.14 空闲空间列表 12.15 多磁盘管理-RAID 12.16 磁盘调度 文章目录 打开文件 何谓"打开文件& ...
最新文章
- laravel5.0升级到5.1
- gin获取post参数
- 钉钉服务器端SDK PHP版
- haXe下体验jQuery
- 算法分析与设计-实验三 贪心算法设计
- 如何写登录的记住账号
- 5.spiders(文件夹)
- 2017.10.22 方格染色 失败总结
- QT_Astyle 代码管理工具
- 766. 托普利茨矩阵
- redis源码剖析(2):基础数据结构ADLIST
- Docker 外部访问容器Pp、数据管理volume、网络network 介绍
- 接口设计的一些小总结
- 华为交换机学习指南基于MAC地址划分VLAN
- 第一、二章 引论、算法分析
- HPGL(PLT文件格式)文件解析及VS2017工程源码
- 期权定价Python实现
- LTK5328内置自适应升压带PBTL模式_2X8W双声道音频功率放大器
- kali linux 入侵教程,kali linux 入侵wordpress wpscan工具使用方法
- Android如何分析排查ANR