操作系统与网络基础

操作系统简介

1.为什么需要操作系统? 
  现代计算机系统是一个复杂的系统。应用程序员无法掌握其中的每一个细节,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理计算机系统中的所有设备。简单来讲,将硬件这些繁琐的工作由操作系统来干,程序员只需要考虑自己的应用软件的编写,应用软件直接使用操作系统提供的功能来间接使用硬件。

2.操作系统的位置
   操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成。

3.操作系统的功能
  操作系统有着两个方面的作用:1. 隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)2. 将应用程序对硬件资源的竞态请求变得有序化,不至于使输出存在抢占和乱码的情况。

4.操作系统的发展
  第一代计算机:真空管和穿孔卡片;它的产生是由于机械人类想用机械取代人力,而那时候的计算机完全没有操作系统的概念,所有的程序设计都是纯粹的机器语言编写的,并且需要在机器上预约时间,只能一个人独享,因此程序员可以即时的调试自己的程序,另一个方面,对于计算机来说又是一种资源浪费。
  第二代计算机:由于第一代的浪费,人们想到了批处理的方法,它将一批程序语言读入磁带中,由操作员将这些输送到系统中,然后等待输出。这也就产生了最初的操作系统的概念,人与计算机的结合系统。它虽然批处理,节省了机时,可是一方面人机交互过多,系统仍然是顺序计算(即串行),效率不高,另一方面程序员独享的调试时间也没有了,这极大的影响了开发效率。
  第三代计算机:第三代依然采用的是批处理,卡片可以被机房很快的读出,一个作业结束后,可以将作业装入空出来的内存区域运行,并且外部设备联机操作,不在需要操作员了。由于对于独享计算机的怀念,于是出现了分时操作系统:多个联机终端加多道技术。将多个客户同时加载到内存 ,由于他们思考和运行不一致,再利用多道技术就让人感觉他们是在独享这个计算机。再后来就出现了UNIX和Linux系统。
  第四代计算机:个人计算机。

5.多道技术
   多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,也叫多路复用,它分为时间上的复用和空间上的复用。
   空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。 时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%。将时间上的复用和空间上的复用结合起来就是多道技术。

网络基础

1.什么是互联网协议以及为何要有互联网协议?
  因为计算机之间的通信也是需要所谓的“语言”,而为了通信所制定的一系列统一的标准,就称为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite)
  因为我们需要互联网协议来定义计算机如何接入internet,以及接入internet的计算机通信的标准。

2.osi五层模型
  (1)物理层:孤立的计算机之间要想通信,就必须接入internet,言外之意就是计算机之间必须完成组网。作用:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
  (2)数据链路层:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思。功能:定义了电信号的分组方式(以太网协议 ethernet:它包含了发送者、接收者地址及数据类型。发送者及接收者的网卡地址    (mac)独一无二)
  (3)网络层:有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,可是这仅仅是一个小的局域网内, 如果双方不在一个域内,我们发送的消息全世界就可以看到,数据流量会产生爆炸,因此引入一套         新的地址用来区分不同的广播域/子网,这套地址即网络地址,网络地址的协议就是ip协议。IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
  Ip地址分成两部分网络部分:标识子网;主机部分:标识主机。单纯的ip地址不能判断是否在一个子网内,它必须要与子网掩码计算后方可判断
  (4)传输层:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机, 如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。 而传输层就是用来建立端口到端口的通信(tcp/udp协议)。
  (5)应用层:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 。而应用层就死用来规定应用程序的数据格式(http/ftp协议)。

3.用户上网流程

1.本机获取

  • 本机的IP地址:192.168.1.100
  • 子网掩码:255.255.255.0
  • 网关的IP地址:192.168.1.1
  • DNS的IP地址:8.8.8.8
2.打开浏览器,想要访问Google,在地址栏输入了网址:www.google.com.
3.dns协议(基于udp协议)
4.HTTP部分的内容
5.TCP协议
6.IP协议
7.以太网协议
8.服务器端响应
原文地址:https://www.cnblogs.com/zhangge123/p/6544258.html