首页 > 代码库 > 2017.3.13作业
2017.3.13作业
一.操作系统
1.为何要有操作系统
首先计算机是一个非常复杂的系统,包括很多硬件,用户无法把所有的硬件细节都了解到,为了给用户提供一个更好,更简单,更清晰的计算机模型,并合理简单的管理计算机的各个硬件,于是,计算机安装里一层系统软件,称为操作系统。
2.操作系统的位置
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。它是由操作系统的内核以及系统调用两部分组成。
3.操作系统的功能
操作系统其实就是一个协调,管理和控制计算机硬件资源和软件资源的控制程序,具体分为两个功能:一,为应用程序员提供调用硬件资源的系统调用接口,让程序员不用再考虑操作硬件的细节。二,管理硬件资源,将应用程序对硬件资源的竞态请求变得有序化(多路复用)。
4.操作系统的发展
第一代计算机没有操作系统的概念,所有的程序设计都是由纯粹的机器语言编写的,优点是程序员在申请的时间段内可以独享整个资源,即时调试程序,缺点是资源浪费。
第二代计算机采用了批处理系统,虽节省里时间,但是等待结果和重新调试的过程都需要等同批次的其他程序都运行完才可以进行,极大影响里开发效率,无法及时调试程序。
第三代计算机采用集成电路芯片和多道程序设计,SPOOLING技术解决了上一代计算机程序操作需要人参与的问题,同时应用了第二代计算机操作系统没有的关键技术:多道技术。同时为了解决第二代计算机批处理的效率问题,并能使程序员及时的调试自己的程序,出现了分时操作系统,最后衍变到现在的Linux系统。
第四代计算机(1980~至今)发展到如今的个人计算机。
5.多道技术
为了解决多个程序竞争或者说共享同一个资源的有序调度问题,这种解决方式即多路复用,它分为时间上的复用和空间上的复用,这两种方式合起来便是多道技术。
时间上的复用:当一个程序在等待I/O时,另一个程序可以使用CPU,若内存中可以同时存放足够多的作业时,则CPU的利用率可以接近100%,类似于统筹方法。
空间上的复用:程序直接的内存必须分割,这种分割是在硬件层面实现,由操作系统控制实现,这样每个客户都获取一个大资源中的一小部分资源,从而减少了排队等待资源的时间。
我们将这种操作系统的功能总结为:处理来自多个程序发起的多个共享资源的请求,简称多路复用。
二.网络基础
1.互联网协议,为何要有互联网协议。
计算机与计算机通讯是通过internet连接实现的,为了更好的相互沟通,需要统一互联网标准,这一系列的标准就称之为互联网协议,从而定义了计算机如何接入internet,以及接入internet的计算机通讯标准。
2.OSI五层模型
首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。
①物理层
主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0.
②数据链接层
数据链接层定义了电信号的分组方式,即以太网协议(ethernet)。
以太网协议(ethernet)规定:一组电信号构成一个数据包,叫做‘帧’。
每一数据帧分成:报头head和数据data两部分。
head包含:(固定18个字节)
- 发送者/源地址,6个字节
- 接收者/目标地址,6个字节
- 数据类型,6个字节
data包含:(最短46字节,最长1500字节)数据包的具体内容。
mac地址:每块网卡出厂时都被烧制上世界唯一的mac地址,长度是48位2进制,通常由12位16进制数表示。
有了mac地址同一网络内的两台主机就可以在以太网协议下通过广播的方式进行通信。
③网络层
当两台计算机不在同一广播域时,采用以太网广播方式通信效率非常低,便引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。
IP协议:
- 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示
- 范围0.0.0.0-255.255.255.255
- 一个ip地址通常写成四段十进制数,例:172.16.10.1
IP地址分成两部分
- 网络部分:标识子网
- 主机部分:标识主机
注意:单纯的ip地址段只是标识了ip地址的种类,从网络部分或主机部分都无法辨识一个ip所处的子网
子网掩码
所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。总结一下,IP协议的作用主要有两个,一是为每一台计算机非陪IP地址,另一个是确定哪些地址在同一个子网络。
IP数据包
IP数据包分为head和data部分,它直接放入以太网包的data部分。
ARP协议
计算机通信基本靠广播的方式,所有上层的包到最后都要封装上以太网头,然后通过以太网协议发送,在谈及以太网协议时候,我门了解到
通信是基于mac的广播方式实现,计算机在发包时,获取自身的mac是容易的,如何获取目标主机的mac,就需要通过arp协议
arp协议功能:广播的方式发送数据包,获取目标主机的mac地址。
④传输层
我们通过IP和mac找到里一台特定的主机,只有通过端口才能标识这台主机上的应用程序,端口即应用程序与网卡关联的编号,传输层的功能是建立端口到端口之间的通信。传输层之间的数据交换必须遵循TCP/UDP协议。
⑤应用层
用户使用的或者开发的应用程序均工作在应用层,而这些应用程序必须规定好数据的组织形式,那么这些应用程序协议就构成里“应用层”。
3.socket
当应用程序通过传输层传输数据时必须遵循TCP/UDP协议,而这种复杂的协议我们可以伪装成接口的形式直接给应用层直接调用,这就是socket,它是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
4.用户上网流程
1.用户上网其实是工作在应用层,应用层通过用户操作产生数据,传输给下一层传输层。
2.传输层对用户数据进行封装,包含里源端口和目标端口,传输给网络层。
3.网络层再进行封装(包含源IP和目标IP)交给下一层。
4.数据链路层再进行封装(源mac和目标mac),传给物理层。
5.物理层将数据转换成二进制字符发送给目标用户的计算机。
6.目标用户的计算机又通过由下到上的顺序解包,最终得到发送端用户通过应用程序所发送的数据。
2017.3.13作业