吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3264|回复: 7
收起左侧

[其他转载] 操作系统

[复制链接]
黑白客 发表于 2021-4-11 09:05

操作系统
操作系统的功能
操作系统的组织
操作系统的体系结构
计算机系统结构

前言

很抱歉断更了半个月左右,因为马上面临找工作,学习方式以及学习资料必须要做出调整.接下来所有有关操作系统的文章,都是小编通过对一些英文文档,以及视频资料整理而来.再次做统一提醒

当然,如果你有能力阅读一些官网英文文档,我还是推荐直接

去阅读.

因为 一千个读者就有一千个哈姆雷特.所有翻译总结而来的中文文档都有出处,因为根据每个人的理解,经验不同.文章自然也不尽相同.

但是我相信,会给你一定的收获.同时你如果有更好的理解,欢迎留言评论.一起头脑风暴吧!

操作系统的功能

什么是操作系统:在计算机用户和计算机硬件之间的中间件

操作系统的目标:

  • 更好的使用计算机硬件
  • 执行用户程序,更有效率
  • 计算机系统使用更加方便

计算机可以分为四个部分:

  • 硬件 (cpu, io devices(设备), memory(内存))
  • 操作系统
  • 应用程序(文字处理器,编辑器,,)
  • 用户(人 ,机器 ,其它计算机)

操作系统的定义

资源分配程序

  • 管理所有资源
  • 在冲突的请求中做出确定,更有效的使用

控制程序

  • 防止一些非法请求,和错误的资源调用
  • 在操作系统中,永远运行这一个程序 kernel(内核)

操作系统的组织

电脑重启

引导程序加载在电源或者重启

  • 通常存储在ROM或者EPROM(固件)中
  • 初始化系统所有方面
  • 加载系统内核kernel

计算机操作系统的操作

  • cpu, disks(磁盘)控制器, USB( mouse keyboard printer),  屏幕通过总线连接共同操作 内存(memory)
  • cpu和io是可以并发执行的
  • 每一个设备控制器控制一个特定的设备类型
  • 每个设备都有一个本地缓冲器(local buffer)
  • cpu将数据从主内存移动到local buffer中
  • 设备控制器通过中断(interrupt,告诉cpu它已经完成

中断(interrupt) 的常用函数

  • interrupt通过interrupt vector(中断向量)将包含所有程序的服务地址传递给中断程序(ISR)
  • interrupt必须保留中断程序的地址
  • 在处理一个interrupt的使用,另一个interrupt必须被禁止,以防止丢失
  • 有些interrupt是由于用户的指令或者错误而引起的
  • 操作系统(OS)就是interrupt来驱动的.

interrupt可以翻译为中断,但是更像是指令,它可以直接操作cpu. interrupt分为很多种,比如每敲击一下键盘keyboard或者移动一下mouse都会产生一个interrupt来驱动OS

产生的众多interrupt由interrupt Handler来统一调度和cpu沟通,这样就使得cpu只需要和一个interrupt Handler来沟通.

通时 和cpu沟通的interrupt Handler还可以再连接多个interrupt Handler,这样就可以管理众多的interrupt了

(interrupt)中断向量

操作系统通过存储寄存器和程序计数器(pc)来保存cpu的状态

中断发生的类型:

polling 轮询

矢量中断系统

有专门的代码段对每种类型的interrupt采取不同的操作

不同的interrupt对应代码段长度不同

操作系统的体系结构

IO 结构

从IO开始到结束之后,控制才会放回到用户程序

cpu在IO执行时,处于等待状态,知道有下一个interrupt中断出现

循环等待的方式, 就是抢占式内存调用

在同一个时间内一个资源只能有一个IO请求

DMA 直接内存访问结构

能够以接近内存传输速度的IO访问设备  DMA

设备控制器(device controller)可以将数据直接从缓冲寄存器传输到主存储器,不需要CPU的干预

每一个内存块生成一个interrupt,而不是每个字节生成一个interrupt

DMA也称为周期窃取,因为它窃取CPU的执行周期来传输数据块

cpu周期:

​ 从内存中获取指令

​ 从内存中获取数据

​ 执行

存储结构

Main memory (主内存)   只有cpu可以直接访问的大型存储结构

Secondary storage   辅助存储  -主内存的扩张   提供大的非易失性存储容量

Magnetic disks   磁盘   

磁盘逻辑分为磁道,磁道又分为扇区

disks controller 磁盘控制器决定了设备与计算机之间的逻辑交互

Storage Hierarchy 存储器层次结构

速度

成本

波动

缓存-- 将信息更快的复制到存储系统中,主内存可以看做最慢的缓存区

不同存储介质的读取速率

寄存器>缓存>主内存>电子磁盘>磁盘>光盘>磁带

Caching 快取(超高速缓存)

可以在计算机的许多层次上执行,硬件,操作系统,软件

正在使用的数据,暂时从较慢的储存器复制到较快的存储器

缓存通常比正在缓存的内存要小

计算机的运作模式

cpu 和memory 和device 三者相互协作

cpu向memory获取指令 和数据 放到cpu的cache中运行.

同时 向device发出IO请求,以及数据交互, device向cpu发出interrupt指令

同时 memory和 divice又可以通过DMA 绕过cpu直接进行数据交互

计算机系统结构

大多数系统使用单一通用处理器(智能手机,平板电脑,,,)

网络处理器

图形处理器

浮点处理器

多核处理器(GPU) 也称为并行处理器和紧密耦合处理器

优势:

增加了吞吐量

规模经济

提高可靠性,优雅的降级或容错

GPU两种类型: 非对称处理器和对称处理器(相同的cpu cache)

集群系统

像多处理器系统,但是多个系统一同工作

通常通过储存区域网络(SAN)共享存储

提供高可用性服务

非对称集群有一台处于热备份模式的机器

对称集群有多个运行应用程序的节点,它们相互监视

一些集群用于高性能计算(HPC)

必须编写程序时使用并行化(存在多个节点执行程序)

计算机系统结构

为了提高效率 需要多路编程

单个程序或者用户不可以一直让CPU和IO处于繁忙状态 (在执行一段时间后仍然没有松开CPU就要将CPU强制拉回.避免出现死循环)

多道编程组织作业(代码和数据),让CPU总是有任务要去执行

尽量让cpu处于繁忙状态

系统中全部正在作业(job)的一个子集,执行一半而cpu因为各种原因而被拿走的程序 保存在内存中

通过(job scheduling)作业调度来执行一个作业(job)

当需要等待时,如需要调用IO,这个时候CPU就要处于等待状态,OS(操作系统)就要切换到另一个作业上执行(时CPU尽量的处于忙碌状态)

多程序系统的内存布局

cpu OS  job Scheduling

OS从 job Scheduling中取出多个job放到OS内存中等待cpu调度

cpu调用os排列好的job,当一个job执行完成,或者其它需要cpu等待的时候,cpu执行第二个job

下篇预告:

操作系统操作

流程管理

内存管理

存储管理

保护和安全

分布式系统

专用系统

计算环境

开源操作系统

免费评分

参与人数 6吾爱币 +6 热心值 +6 收起 理由
MC心福 + 1 + 1 热心回复!
qmydate + 1 + 1 我很赞同!
hfutwangwei + 1 + 1 你这头像让我没法认真学习。
hewang123 + 1 + 1 谢谢@Thanks!
叶无道 + 1 + 1 我是来看头像的
雷欧库珀 + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kxzxw 发表于 2021-4-11 10:41
看头像的居多
c
c 发表于 2021-4-11 10:56
兮若求 发表于 2021-4-11 11:02
吴氏生飞A 发表于 2021-4-11 11:13
我不想知道系统是怎么操作的,我就想知道你的头像是怎么操作的。
头像被屏蔽
benq7378 发表于 2021-4-11 11:13
提示: 作者被禁止或删除 内容自动屏蔽
zhangxy3164 发表于 2021-4-11 11:15
看不懂啊。。
MC心福 发表于 2021-4-11 11:40
解释得挺好的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表