现代操作系统 第一章 引论 笔记

摘要:
现代操作系统封面上有趣的图片什么是计算机系统?操作系统的两个功能?操作系统有序地控制竞争程序之间处理器、内存和I/O设备的分配。空间重用的最大问题是程序之间的内存必须划分,这需要在硬件级别实现,并由操作系统控制。特权指令因操作系统而异,但通常主要是与硬件相关的指令。为操作系统提供一个简单的界面。
现代操作系统

封面上的趣图

现代操作系统 第一章 引论 笔记第1张

什么是计算机系统?

现代计算机系统由一个或多个处理器、主存、磁盘、打印机、键盘、鼠标、显示器、网络接口以及各种其他输入/输出设备组成。

什么是操作系统?

操作系统是一个软件,它的任务是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理组成计算机系统的各种设备。

现代操作系统 第一章 引论 笔记第2张

操作系统的两个功能?

1. 扩展机器(自顶向下的观点)

操作系统是计算机的扩展,是将操作系统当做计算机对外的接口。对外包括对应用程序,对程序员,对用户。操作系统对计算机进行“化妆”,将计算机“丑陋晦涩”的硬件对外隐藏,而向外呈现界面友好清晰,更易理解的操作系统。

2. 资源管理(自底向上的观点)

操作系统将计算机资源(处理器,存储器以及I/O设备等)进行抽象以及管理

将CPU处理抽象为进程,将内存抽象为地址空间,磁盘抽象成文件。而这一切抽象都是为了实现多道程序设计,即可以在一个计算机上同时运行多个互不干扰程序。

操作系统在相互竞争的程序之间有序地控制处理器,存储器以及I/O设备的分配。

什么是多道程序设计技术?

多道程序设计技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

资源管理的两种方式实现多路复用(共享)资源?

1. 时间复用

 当一个程序在等待I/O时,另一个程序可以使用cpu。如果内存中可以同时存放足够多的程序,则cpu的利用率可以接近100%。

2. 空间复用

将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。 

 现代操作系统 第一章 引论 笔记第3张

空间上的复用最大的问题是:

程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存,那么,

首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。

其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。

计算机硬件介绍

处理器

计算机的大脑,主要工作是从内存中取指、解码、执行。

每个cpu都有其一套可执行的专门指令集。 

cpu有哪些专门寄存器,对程序员是可见的?

  • 程序计数器(PC):保存了将要取出的下一条指令的内存地址。

  • 堆栈指针(SP):指向内存中当前栈的顶端,该栈含有已经进入但是还没有退出的每个过程的一个框架。

  • 程序状态字(PSW):包含了条件码位(由比较指令设置),CPU优先级,模式(用户态或内核态),以及各种其他控制位。存在一个二进制位控制CPU的工作模式,即内核态和用户态。不同模式对硬件的访问权限不同。 

什么是cpu的流水线设计?

CPU具有的同时取出多条指令的机制,称为流水线。 

现代操作系统 第一章 引论 笔记第4张

取指IF,译码ID,执行EX

什么是超标量CPU?

一个CPU有多个执行单元,例如一个用于整数算数运算,一个用于浮点算数运算,而另一个用于布尔运算。两个或更多的指令被同时取出/解码并装入一个保持缓冲区中,直至它们执行完毕。只要有一个执行单元空闲,就检查保持缓冲区中是否还有可处理的指令,如果有,就把指令从缓冲去中移出并执行。

现代操作系统 第一章 引论 笔记第5张

 超标量CPU设计会存在一种什么样的作用?

程序的指令经常不按顺序执行。参考:乱序执行技术

 多数CPU都有的两种模式以及区别?

  • 内核态 :当在内核态运行时,CPU可以执行指令集中的全部指令,并且使用硬件的每种功能。 操作系统在内核态运行,从而可以访问整个硬件。
  • 用户态:用户程序在用户态下运行,仅允许执行整个指令集的一个子集和访问所有功能的一个子集。一般而言,用户态中有关IO和内存保护的所有指令是禁止使用的。包括将PSW中的模式位设置成内核态也是不允许的。 

什么时候使用系统调用以及系统调用是怎么回事?

用户程序只在用户态下运行,有时需要访问系统核心功能,这时通过系统调用接口使用系统调用。

  • 定义:在计算机中,系统调用(英语:system call),又称为系统呼叫,指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。 系统调用提供了用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者进程间通信。

  • 原理:操作系统中的状态分为管态(内核态)和目态(用户态)。特权指令:一类只能在核心态下运行而不能在用户态下运行的特殊指令。不同的操作系统特权指令会有所差异,但是一般来说主要是和硬件相关的一些指令。访管指令:本身是一条特殊的指令,但不是特权指令。(trap指令)。基本功能:“自愿进管”,能引起访管异常。

  • 过程:TRAP指令把用户态切换成内核态,并启用操作系统。当有关工作完成之后,在系统调用后面的指令把控制权返回给用户程序。

CMOS是什么存储器?

在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。它是易失的。CMOS存储器和递增时间的时钟电路由一块小电池驱动,所以,即使计算机没有上电,时间也仍然可以正确的更新。

磁盘(硬盘)

扇区、磁道、柱面、磁头、盘面各是什么概念?

  • 磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头,实现数据的存取

  • 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道,从外边缘的0开始编号,根据磁化方向来存数数据0和1

  • 柱面(cylinder):不同盘片的相同编号的磁道构成的圆柱面就被称之为柱面,磁盘的柱面数与一个盘面上的磁道数是相等的

  • 扇区(sector):每个磁道都别切分成很多扇形区域,每个磁道的扇区数量相同,每个扇区大小为512字节

  • 圆盘(platter):就是硬盘的盘片,为实现大容量,一般都是多个

硬盘的容量=柱面数×磁头数×扇区数×512(字节数)

 现代操作系统 第一章 引论 笔记第6张现代操作系统 第一章 引论 笔记第7张现代操作系统 第一章 引论 笔记第8张

IO设备一般包含哪两部分?

设备控制器和设备本身。

控制器的作用?

为操作系统提供一个简单的接口(也是很复杂的)。比如磁盘控制器可以接受一个命令从磁盘2读出11206号扇区,然后控制器把这个线性扇区号转换为柱面、扇区和磁头。。。  

控制器为了完成这些工作,在控制器中经常安装一个小的嵌入式计算机,该嵌入式计算机运行为执行这些工作而专门编好的程序(Firmware)。

什么是设备驱动程序?

专门与控制器对话,发出命令并接受响应的软件,称为设备驱动程序(device driver)。

实现输入和输出的三种方式?

1、忙等待

2、中断

3、使用直接存储器访问芯片(DMA)

解答待完善。。。

免责声明:文章转载自《现代操作系统 第一章 引论 笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇蓝桥---数的读法 (模拟)iOS,QRCord(矩阵二维码)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

玩转ptrace

下面是转帖的内容,写的很详细。但是不同的linux发行版中头文件的路径和名称并不相同。如在某些发行版中<linux/user.h>就不存在,其中定义的变量出现在<asm/ptrace-abi.h>和<sys/user.h>中。关于调试器技术的资料在网上是很少,即便是UNIX编程巨著《UNIX环境高级编程》中,相关内容也不...

详解tomcat的连接数与线程池

前言 在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。 在前面的文章详解Tomcat配置文件server.xml中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Ser...

FTP命令(2)

  1.传送单个文件 FTP可在两个方向传输文件。它可在本地计算机上取一文件将它送到远程计算机上,或者在远程计算机上取一文件将它放在本地计算机上。这可由get、put命令来实现。 get命令 get是把远程主机上的文件获取到本地来,用如下格式: ftp> get 源文件 目标文件 源文件是用户要COPY的远程计算机上文件的名字,目标文件是用户要在本...

深入理解kubernetes(K8s)的Qos, requests和limits

Kubernetes的服务质量保证(QoS) Kubernetes需要整体统筹平台资源使用情况、公平合理的将资源分配给相关pod容器使用,并且要保证容器生命周期内有足够的资源来保证其运行。 与此同时,由于资源发放的独占性,即资源已经分配给了某容器,同样的资源不会在分配给其他容器,对于资源利用率相对较低的容器来说,占用资源却没有实际使用(比如CPU、内存)造...

(案例5)软中断导致 CPU 使用率过高

前言 软中断基本原理,可参考这篇博客:https://www.cnblogs.com/uestc2007/p/14684499.html 中断 一种异步的事件处理机制,用来提供系统的并发处理能力 当中断事件发生,会触发执行中断处理程序 中断处理程序分为上半部和下半部 上半部:硬中断,快速处理中断 下半部:软中断,用来异步处理上半部未完成的工作  软...

计算机是怎样启动的?

从打开电源到開始操作。计算机的启动是一个很复杂的过程。 我一直搞不清楚,这个过程究竟是怎么回事。仅仅看见屏幕高速滚动各种提示...... 这几天,我查了一些资料。试图搞懂它。以下就是我整理的笔记。 零、boot的含义 先问一个问题。"启动"用英语怎么说? 回答是boot。但是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boo...