Description: this article is talking about some knowledges about computer operating system and computer network
缺页
作业在执行中发生了缺页中断,经系统将该缺页调入内存后,应继续执行被中断的指令。
缺页中断机构
在请求分页系统中,每当要访问的页面不存在时候,便产生一缺页中断,请求OS将所缺之页调入内存。缺页中断作为中断同样经历:保护CPU环境、分析中断原因、转入缺页中断、恢复CPU环境等步骤。
缺页中断与其他中断的区别:
- 在执行期间产生和处理中断信号。通常CPU 是在一条指令执行完后,才检查是否有中断请求到达。若有,便去相应,否则继续执行下条指令。但缺页中断是在指令执行期间霍数据不再内存时所产生的和处理的。
- 一条指令在执行期间,可能产生多次缺页中断。有可能执行一个指令时,指令本身跨越两个页面,访问的数据块也不在同一个页面,所以,系统中硬件机构应该能保存多次中断时的状态,并保证最后能返回到中断前产生缺页指令处继续执行。
在系统间提供可靠的数据传输的层次是:传输层
- 链路层是点到点间通信
- 网络层是主机到主机
- 传输层是进程到进程
进程的四个特征
- 并发性: 指多个进程实体同存于内存中,且在一段时间内同时运行。并发性是进程的重要特征,同时也成为操作系统的重要特征
- 动态性:进程的实质是进程实体的一次执行过程,因此,动态性是进程最基本的特征
- 独立性:进行实体是一个独立运行、独立分配资源和独立接受调度的基本单位
- 异步性:指进程按各自独立的、不可预知的速度向前推进,或者说实体按异步方式进行
OSI 五层协议
Application 应用层(PDU)
能够产生网络流量,能够和用户交互的应用程序
Transport 传输层(segment)(TCP)
可靠传输建立会话,不可靠传输流量控制
进程之间的连接,端到端
Network 网络层(packet)(IP)
IP 地址编址,选择最佳路径
主机之间的连接,**点到点**
Data Link 数据链路层(frame)
数据如何封装,添加物理层地址MAC
Physical 物理层(bit)
电压,接口标准
DMA(直接内存访问)
是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA适用于高速I/O设备,这个I/O设备读写周期小,而且DMA方式不占用CPU,与指令执行周期无关。
分时操作系统(time-sharing system)
分时的含义:分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。
分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统名。分时操作系统,主要分为三类:单道分时操作系统,多道分时操作系统,具有前台和后台的分时操作系统。
广播地址
主机标识段ID 全为1的IP地址为广播地址
原语(primitive)
一般是指有若干条指令组成的程序段,用来实现某个特定功能,在执行过程中不可被中断。在操作系统中,某些被进程调用的操作,如队列操作,对信号量的操作,启动检查外设操作等,一旦开始执行,就不能被中断,否则就会出现操作错误,造成系统混乱。
计算机网络的主要组成部分
- 若干主机(host):可以是各种类型的计算机,用来向用户提供服务
- 一个通信子子网:它由一些通信电路和结点交换机组成,用于进行数据通信
- 一组通信协议:这些协议是为主机与主机、主机与通信子网或通信子网中各节点之间通信用的。
指令的组成
- 操作码:该制令完成操作的类型或性质
- 地址码:操作对象的地址
进程的状态
- 就绪状态->运行状态:获得处理机资源
- 运行状态->就绪状态:处于运行状态的进程时间片用完;当有更高优先级的进程就绪时
- 运行状态->阻塞状态:进程请求资源使用和分配;等待某一事件的发生
- 阻塞状态->就绪状态:当进程等待事件到来
时延
计算机网络采用分组交换:时延= 发送时延+传播时延+处理时延+排队时延
发送时延:路由器或者主机发送数据帧所需要的时间,又称传播时延
传播时延:电磁波在线路信道所需花费的时间
处理时延:主机或者路由器在收到分组时需要花一定时间进行处理,比如查找路由表,分析首部信息
排队时延:当分组传输速率大于路由器转发处理速度,需要排队等待,成为排队时延
临界资源
是诸进程之间应采取互斥方式访问的,也就是一次只允许一个进程访问的资源,可以为硬件,软件,变量,数据,表格,队列等,并不单指硬件资源,临界区就是每个进程中访问邻接资源的那段代码。
回送地址(loopback address)
127.0.0.1 是一个保留地址,专门用于网络软件测试以及本地进程间通信,叫做回送地址(loopback address), 无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输(信息不回跑到局域网/广域网上)。127.0.0.1如果ping通了说明网卡没有问题,就算没有网线也可以ping通。
192.168.0.1 是本地路由器地址
网络检测、排错顺序
1.ping 127.0.0.1 先检查TCP/IP 协议栈是否正常。
2.ping本地ip检查你网卡是否正常工作
3.ping网关地址检查本地主机与网关的链路是否通畅
4.ping远程网站检查本地主机与外网远程地址关的链路是否通畅
socket
ServerSocket(int port): creates a server socket,bound to the specificed port.
Socket(InertAddress address, int port): creates a stream socket and connects it to the specified port number at the specified IP address.
端口号的目的
跟踪同一时间网络中的不同回话
内核支持线程
他就是在内核的支持下运行的,离不开内核,系统在内核空间为每一个内核支持线程设置了一个线程控制块,内核通过此块来感知线程存在,并加以控制它
用户级线程
他仅存在于用户空间,对于这种线程的创建、撤销、线程之间的同步与通信功能,都无须利用系统调用来实现。一般为一个用户进程穿件较多的用户线程,线程之间的切换和调用比进程要快和简单,这些线程的任务控制块都存在用户空间,内核完全不知道用户级线程的存在
总线
- 地址总线: 用来寻址的
- 数据总线:用来负责cpu和寄存器之间的数据交换
- 控制总线:用来传送控制信号的,连接cpu和i/o端口,将cpu的指令传送到指定的执行单元
堆区
允许程序在运行时动态地申请某个大小的内存
栈区
由编译器自动分配释放,存放函数的参数值,局部变量等值
全局区
全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放
寄存器
每个线程都有自己的一组CPU寄存器
中断向量
早期的微机系统中将与硬件产生的中断表示码,中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行的程序的运行,转而对这些异常处理或者特殊请求的处理,处理结束后在返回到现行程序的中断处,继续执行原程序。
向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了在判断中断标志来识别具体时间哪个中断。
向量中断-由硬件提供中断服务程序入口地址
非向量中断-有软件提供中断服务程序入口地址
进程调度算法
先入先出和优先级算法是进程调度算法
银行家算法
死锁避免算法
死锁预防算法
资源按序分配
PV 操作
P 表示test条件, V 表示increment信号量
S的初值为3,表示可使用资源为3个
当前值为-2,表示有2个进程等待
当前值为2,表示还有2个资源可以使用