操作系统设计与实现(一)计算机的探索者

本人写于2015年5月6日,恰逢人生第一个操作系统完成(类Linux)完成,感谢给过我帮助的人!

以此纪念我将开写操作系统方面的博客,本次博客借鉴了《现代操作系统》和《操作系统概念》《LInux内核设计与实现》这三本书,共需要60章

本人刚刚初中毕业,学识水平有限,不足之处有望专业人士点评

-------------------------------------------------------------------------------------------------------------------------------------分割线-------------------------------------------------------------------------------------------------------------------------------------

2019年1/10由github搬运(本人的)

操作系统导论概念

一操作系统的功能

计算机系统可分成四个组件:硬件、操作系统、应用程序和用户

硬件:为系统提供基本的计算资源

应用程序:规定了用户解决计算问题而使用这些资源的方式

操作系统控制硬件,并协调各个用户应用程序的使用

以下我通过两个视角来讨论操作系统--------用户视角和系统视角

1.1.1用户视角

个人PC方面:主要注重使用方便,次要的是性能,而不太在乎资源利用

与大型机和小型机的终端方面:由于用户通过终端访问同一计算机,这些用户共享资源并且可以交换信息,这种操作系统的设计目标是资源利用率

工作站方面:这类工作站与其他工作站和服务器相连,这类操作系统设计需要兼顾使用方便性和资源利用率

1.1.2系统视角

对于系统方面可将操作系统视作资源分配器,对于多个用户访问或微型计算机,资源分配是特别重要的,操作系统的另一个不同的视角是:强调控制各种I/O设备和用户程序的需求

操作系统可看作一个控制程序,控制程序管理用户程序的执行,以防止计算机资源的错误或不当使用,其特别注重I/O设备的运行和控制

补充知识点:

摩尔定律:集成电路可容纳元器件的数且每隔18个月便会翻倍

操作系统的定义

操作系统的存在是因为它们提供了合理方式来解决可用计算机系统的问题。而对于操作系统并没有广泛和准确的定义,较为公认的是:操作系统是一直运行在计算机上的程序(通常称为内核(kernel)),对于移动操作系统iosandroid等,除了内核,还有中间件等等

二计算机系统的组成

1计算机系统的运行

当计算机开启时,它需要一个初始程序,该初始程序或引导程序通常一般很简单,通常位于只读内存(ROM)或电可擦可编程内存(EEPROM),它初始化各个组件,引导程序必须知道如何加载操作系统并且执行系统,所以,引导程序必须定位操作系统内核

并且它加载到内存,一旦内核加载到内存并执行,则内核就开始提供服务,系统程序也提供一些服务,它们在启动时加载到内存而成为系统进程

事件发生通常通过硬件或软件的中断来通知,软件也可以执行特别操作即系统调用(也称为监督程序调用),以触发中断

当CPU被中断时,它停止正在做的事情,并立即转到固定位置再继续执行,该固定位置通常包含中断服务程序的开始地址,中断服务程序开始执行,在执行完后,CPU重新执行被中断的计算

中断是计算机体系结构的重要部分,中断应将控制转移到合适的中断服务程序,处理这一转移的直接方法是,调用一个通用程序以检查中断信息,该程序会调用特定的中断处理程序,由于只有少量预先定义的中断,所以可以通过中断处理程序的指针表来提高速度,这样通过指针表可以间接调用中断处理程序,指针表通常位于低地址内存(前100左右),这些位置包含各种设备的中断处理程序的地址,这种地址的数组或中间向量,对于任意给定的中断请求,可以通过唯一的索引号来索引,进而提供设备的中断处理程序的地址

中断体系结构也应该保存中断指令的地址,现代体系结构将返回地址保存在系统堆栈上,如果中断程序需要修改处理器状态,如修改寄存器的值,则应明确保存当前的状态,并在返回之前恢复该状态,在处理完中断之后,保存的返回地址会加载到程序计数器,被中断的计算重新开始

I/O结构

三计算机系统的体系结构

单处理器系统

单处理器系统只有一个CPU以便执行一个通用指令集,该指令集包括执行用户进程的指令

多处理器系统

多处理器系统也称为并行系统或多核系统,这类系统有两个或多个紧密通信的CPU,它们共享计算机总线,有时还共享时钟,内存和外设

多处理器系统有以下三个优势:

规模经济:多处理器系统的价格要低于相同功能的多个单处理器系统的价格

增加可靠性:如果将功能分布在多个处理器上,那么单个处理器的失灵不会使得整个系统停止,而只会使它变慢

一般多处理器系统分为两种非对称多处理和对称多处理

非对称多处理:每个处理器你都有各自特定的任务,一个主处理器控制系统,其他处理器或者向主处理器要任务要么做预先规定的任务,这种方案被称为主从关系

对称多处理(SMP):每个处理器参与完成操作系统的所有任何,SMP表示所有处理器对等,处理器之间没有主从关系,每个处理器都有自己的寄存器集,也有私有或本地缓存,不过所有的处理器都共享物理内存

注意:多核系统称为多处理器系统,但不是所有的多处理器系统都是多核的。多核指多个计算核到单个芯片,这种多处理器叫做多核

集群系统

系统将多个CPU组合在一起,这与多处理器不同,它由两个或多个独立系统组成,这种结构是松耦合的。

集群具有高可用性即集群中的一个或多个系统出错,仍可继续使用。

集群出对称的也可以是非对称的,对于非对称集群一台机器处于热备份状态,热备份主机只监视活的机器,如果活的机器失效,则热备份机器会变成活的机器,对于对称集群,两个或多个主机都运行程序,并且互相监视,由于充分使用现有硬件,所有更为有效。

每个集群的所有计算机可以并发执行一个应用程序,即将一个程序分成多个部分,而每个部分可以并行运行在计算机和集群计算机上的各个核上(类似于微服务),这叫做并行计算,提供了高性能计算

同时还有并行集群,并行集群允许多个主机访问共享存储的同一数据,有时候需要针对文件访问加以加锁或控制,则需要分布式锁管理器(DLM)。

例子:

Beowulf集群

Beowulf集群的设计用于解决高性能的计算任务,每个Beowulf由商用硬件通过LAN连在一起,这种集群无需特定的软件包,每个节点采用开源软件库来通信,每个节点采用LInux操作系统。

THE END
1.《操作系统设计与实现:基于LoongArch架构》:带领学生全面剖析操作经过几年的实践,周庆国教授及带领的教学团队在基于LoongArch架构的教学版操作系统MaQueOS为主线进行的教学成果及经验上,成功编著了《操作系统设计与实现:基于LoongArch架构》一书。该书能带领学生全面剖析一个具备基本功能的操作系统内核的设计与https://mp.weixin.qq.com/s?__biz=MzA4MjU5NzkyNA==&mid=2688790552&idx=8&sn=3e6f2ee51c56d8d72aef14f611f5f8c9&chksm=bb97284ffe769772df2fec001ae5a84f65c59ec440b9583b1296ec6fe7c335eefc2edc50ed51&scene=27
2.操作系统设计与实现(豆瓣)大学计算机教育国外著名教材系列(影印版)(共42册), 这套丛书还有 《UNIX网络编程卷2》《计算复杂性》《自动机理论语言和计算导论(第2版影印版)》《数据结构》《分布式系统原理与范型》 等。 喜欢读"操作系统设计与实现"的人也喜欢的电子书· ··· 支持Webhttps://book.douban.com/subject/3108799/
3.操作系统设计与实现(第3版下册)中文PDF版21.8MB电子书下载《操作系统设计与实现(第3版 下册)》是关于操作系统的权威教材,详细探讨了操作系统的基本原理,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入/输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全和保护机制等。大多数关于操作系统的图书均重理论而轻实践,而《操作系统设计与实现(第3https://www.jb51.net/books/483826.html
4.操作系统设计与实现第二版中文.pdf操作系统设计与实现(Minix系统中文版).7z 浏览:2 本书是一本操作系统教程,主要写了minix系统的设计和实现以及编译方法 ESP8266 官方全部开发文档资料打包下载 2021最新版 浏览:33 5星 · 资源好评率100% 10. **20b-esp8266_rtos_sdk_api_reference.pdf**:ESP8266实时操作系统(RTOS) SDK API参考文档,包含了EShttps://download.csdn.net/detail/zhilin_tang/7700045
5.《操作系统设计与实现(第三版)(上册)》(AndrewS.Tanenbaum(美当当网图书频道在线销售正版《操作系统设计与实现(第三版)(上册)》,作者:Andrew S. Tanenbaum(美)安德鲁 S. 塔嫩鲍姆 等著,出版社:电子工业出版社。最新《操作系统设计与实现(第三版)(上册)》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购http://product.dangdang.com/23727594.html
6.操作系统设计与实现(第一章引论操作系统概念)《Operating Systems: Design andImplementation Second Edition操作系统设计与实现 (第二版)安德鲁.坦尼鲍姆(Andrew S. Tanenbaum)阿尔伯特.伍德豪尔(Albert S. Woodhull)》 典型的操作系统由四部分构成:进程管理,I/O设备管理,存储器管理和文件管理。 第一章 引论 https://www.jianshu.com/p/3d270296e576
7.操作系统设计与实现:第3版操作系统设计与实现 作者:陈文智 ISBN:9787040467529 出版社:高等教育出版社 出版年:2017 现代操作系统(原书第3版) 作者:(荷)塔嫩鲍姆(Tanenbaum,A.S.)著 出版社:机械工业出版社 出版年:2009 Operating Systems:Design and Implementation 3rd = 操作系统:设计与实现 第三版(影印版) 作者:S.Tanenbaum,Andrehttps://www.las.ac.cn/front/book/detail?id=f5d81099a262db34c86eb97b5587da07
8.操作系统原理实现与实践作者似乎要表达一个意思:一个操作系统,是由它的设计者和用户共同决定的,之前和深信服面试官聊,说到为什么深信服是以用户为中心,面试官说,设计者们只能设计一个框架,细节还需要由用户来填充,这本书就体现了这一点。 作者似乎还想表达一点,操作系统,是附着在计算机硬件上的,所以操作系统的任务是更好地利用硬件,所以https://zhuanlan.zhihu.com/p/658808396
9.操作系统的设计与实现20240406002241.pdf操作系统的设计与实现.pdf,操作系统的设计与实现 一、引言 操作系统是计算机系统的核心部分,负责管理和控制计算机系统的硬 件和软件资源。它负责分配任务、管理内存、处理文件系统、控制设 备驱动程序等。本文将介绍操作系统的设计和实现。 二、操作系统设计 1、需求分析:https://max.book118.com/html/2024/0406/5111140131011134.shtm
10.一个64位操作系统的设计与实现至于软件方面,只要熟练运用汇编语言和C语言就足够编写操作系统了。 汇编语言主要用于控制和配置处理器,例如引导启动处理器、配置处理器运行状态、进程切换、中断和异常处理程序、设备I/O端口操作等必须操作寄存器的工作,或者是对性能要求极为苛刻的场景,这些工作C语言几乎无法实现。 https://www.ituring.com.cn/book/tupubarticle/26322
11.操作系统设计与实现pdf下载操作系统设计与实现第三版p软件介绍软件截图相关文章网友评论下载地址 小编为您推荐:操作系统设计与实现操作系统操作系统设计与实现第三版pdf高清版是计算机科学届非常有名的教材,在这里用户可以通过这本辅导教材,学习详细的操作系统基础知识,以及作者对于操作系统的不同见解,计算机专业的学生必备教材,欢迎有需要的用户来IT猫扑下载! 作者介绍 Andrewhttps://www.itmop.com/downinfo/340861.html
12.操作系统底层架构与内核设计及实现原理51CTO博客这是一段进行相加的操作,程序启动,在经过编译解析后会由操作系统把硬盘中的程序复制到内存中,示例中的程序是将123和456执行相加操作,并将结果输出到显示器上。由于使用机器语言难以描述,所以这是经过翻译后的结果,实际上每个指令和数据都可能分布在不同的地址上,但为了方便说明,把组成一条指令的内存和数据放在了一https://blog.51cto.com/u_11837698/6237152
13.基于Linux操作系统和ARM926EJ系统以CMOS图像通道为诊断网像的传输通道,将采集的超声图像信息送人系统总线,在嵌入式Linux操作系统平台上,实现了诊断图像的实时显示和静态图像的大容量非易失性存储,所实现的诊断系统不仅功能强大、扩展容易,而且还兼顾了小型化的需求。 2、 系统构架 本文设计的便携式超声诊断仪系统结构如图l所示。用户通过输入设备https://m.elecfans.com/article/1179009.html
14.基于Petalinux的Socket网络通信系统设计与实现AET基于Petalinux的Socket网络通信系统设计与实现 摘要:介绍了一款针对MicroBlaze软核处理器特别开发的嵌入式操作系统Petalinux,成功地实现了其在ML402开发板上的移植,并且在该系统上实现了基于TCP/IP协议的套接字接口Socket的网络通信。 关键词:FPGA;MicroBlaze软核处理器;Petalinux移植;Socket网络通信http://www.chinaaet.com/article/188921
15.网络工程专业人才培养方案(2022)3. 工程基础知识。掌握从事网络工程专业所需的数字电路与逻辑设计、计算机组成原理、程序设计、算法与数据结构、软件工程概论、数据库原理与技术等基础知识。 4. 网络工程专业知识。掌握从事网络工程专业所需的计算机网络原理与技术、操作系统、信息安全导论、物联网技术基础、网络安全技术、网络互连技术、无线网络技术、网https://www.csust.edu.cn/jtxy/info/1148/20900.htm