1 操作系统概述
操作系统封装了大多数硬件性能,并且将整个计算机管理起来,因而操作系统给使用计算机带来了极大的便利.
操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成.
单纯的说操作系统是运行于内核态的,是不准确的.
1.1 操作系统的作用
1 OS 作为用户与计算机硬件系统之间的接口
用户可以通过三种方式使用计算机: 命令方式 系统调用方式 图形、窗口方式
2 OS 作为计算机系统资源的管理者
归纳起来可将资源分为四类:处理器、存储器、I/O 设备以及信息(数据和程序)。
OS 的主要功能也正是针对这四类资源进行有效的管理:
处理机管理,用于分配和控制处理机;
存储器管理,主要负责内存的分配与回收;
I/O 设备管理,负责 I/O 设备的分配与操纵;
文件管理,负责文件的存取、共享和保护。
3 OS 实现了对计算机资源的抽象
2 操作系统的发展简史
2.1 无操作系统
1 人工操作方式
将纸袋输入给计算机.
问题:用户独占机器;CPU较快,等待用户时间长
2 脱机输入输出方式
为了解决人机矛盾及 CPU 和 I/O 设备之间速度不匹配的矛盾
增加外围机.输入交给外围机,然后将内容调入到内存中
2.2 单道批处理系统
单道批处理系统的处理过程
单道批处理系统是在解决人机矛盾以及 CPU 与 I/O 设备速度不匹配
在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个地连续处理
特点:自动性 顺序性 单道性
2.3 多道批处理系统
用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列” ;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU 和系统中的各种资源 .
2.4 分时操作系统
分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
特点:多路性 独立性 及时性 交互性
2.5 实时操作系统
实时系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行 .
3 操作系统的基本特性
3.1 并发
并发:两个及多个事务在同一时间间隔内发生
并行:同时发生
3.2 共享
系统中的资源可供内存中多个并发执行的进程或者线程共同使用.
这种资源共同使用称为资源共享,或称为资源复用。
访问的方式分为:互斥共享(打印机) 同时访问(磁盘设备)
3.3 多路复用
虚拟技术主要分为时分复用技术和空分复用技术.
时分复用技术分为虚拟处理机技术和虚拟设备技术.
虚拟处理机技术是针对任务建立进程,并发执行
虚拟设备技术是将IO设备虚拟为多台逻辑设备.
空分服用技术分为虚拟磁盘技术和虚拟存储器技术 .
空分复用技术需要硬件的支持.
4 计算机网络的模型
数据从应用层逐渐封装至下,每一层添加自己的head.物理层经由网卡通过网络发送内容出去.接受段之下而上的处理数据,逐层去掉对应的head.
物理层代表有MAC地址,是由网卡唯一固定,全球唯一.
在一个局域网内数据的发送接收,由广播的形式.当不在同一个网段的时候,经由网关将数据包转发出去,进而在另一个网段的网关接收.这就链接到了网络层.
网络IP相关的知识除了IP分类,还有子网掩码,网关,DNS服务器地址等一系列概念.
套接字SOCKET是IP+端口的标识.
DNS的查询分为迭代查询和递归查询.
全球只有13个DNS根域名服务器是因为UDP的报文长度限制.
4.1 物理层
主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
4.2 数据链路层
数据链路层的主要功能
1 在原始的物理线路上传输数据信号是有差错的。
2 设计数据链路层的主要目的就是在原始的、有差错的物理传输线路的基础上,采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,向网络层提供高质量的服务。
3 从网络参考模型的角度看,物理层之上的各层都有改善数据传输质量的责任,数据链路层是最重要的一层。
数据链路层的主要协议有:
1 点对点协议(Point-to-Point Protocol);
2 以太网(Ethernet);
3 高级数据链路协议(High-Level Data Link Protocol);
4 帧中继(Frame Relay);
5 异步传输模式(Asynchronous Transfer Mode);
数据链路层包含 LLC逻辑链路层子层 和MAC介质访问控制子层 两个子层
逻辑控制子层
数据链路层的LLC子层用于设备间单个连接的错误控制,流量控制。
介质访问层
介质访问控制是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。
ethernet规定
一组电信号构成一个数据包,叫做‘帧’
每一数据帧分成:报头head和数据data两部分
head | data |
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送
4.3 网络层
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。
4.4 传输层
分为TCP UDP
建立连接的时候需要三次是因为,第二次实际上可以分为两次,一个是回应ack=x+1表示同意客户端建立连接.一个是回复SYN和seq表示服务器也要和客户端进行连接.
但是在结束的时候一般是四次连接,这是因为客户端需要断开连接表明客户端已经没有数据可以发送了,但是服务器不能保证在同一时刻也全部收到了数据也要断开连接.因而一般来说是四次连接.
4.5 应用层
HTTP等应用层的协议.可以自定义协议.主要是依靠端口来识别不同的应用.