zoukankan      html  css  js  c++  java
  • Day2.对操作系统与网络基础的理解

    说起操作系统,就要说一说为什么要有操作系统,第一天有提到过,程序员不能完全的掌握所有硬件的各个细节,因此程序员不直接操作硬件,那操作系统就起到了一定的作用,它可以管理并操作硬件,让程序员不再因为硬件的繁琐结构而浪费时间。操作系统在硬件之上,应用软件之下,它让应用软件间接的操作起硬件,连接起了两者,看似操作系统的功能如此强大,但它实质上也是软件 。

    操作系统有两大功能:第一,硬件是多种多样的,每家公司出产的硬件也是不同的,程序员对硬件的认知过程也是漫长的,把这个过程交给操作系统,直接提供给程序员间接实用的调用接口,大大提高了工作效率;第二,操作系统能合理地分配资源,比如使听音乐与浏览网页之间不去抢占资源,不相互冲突,不然的话计算机的使用也会变得混乱不堪。

    操作系统起始于1940年,也就是第一代计算机的出现,当时计算机使用就跟现在上网吧是一样的,你开一台机器,整个计算机的资源都是你一个人共享的,别人不能使用,然而在那个年代,程序员就要预约排队去使用一台计算机,你本来预约了两个小时,可是你只使用了一个小时就完成了自己的任务,那么剩余的时间没人使用就浪费了大量的计算机资源,那时的资源可是很紧张的;后来到1955年第二代计算机弥补了这个缺点,它采用了批处理,将程序员敲好的程序批量放入计算机中按顺序计算出批量的运算结果,这中间还涉及到人工的搬运,很是繁琐;直到1965年第三代计算机出现,这时的计算机就不存在人工的操作,而且它提高了CPU的使用效率,解决了一二代计算机的串行运算的问题,并且出现了较为完善的操作系统,比如UNIX系统和它衍生出来的其它系统;最后到1980年延续至今的第四代计算机,也就是个人计算机,此时的操作系统已经相当完善了,比如WINDOWS、linux等这些较为常见的操作系统。

    刚才所提到的串行运算问题是如何解决的,那就得提到多道技术了,简单点就是说当我在家想要去烧一壶开水的话,在烧水的同时我可以去洗个衣服,而不是等着水烧开以后再去洗衣服,就相当于CPU在工作时,有些文件的运行需要等待,等待的过程中可以将CPU的资源使用转让给其他文件,从而提高了工作的效率,这就是多道技术。

    海峰老师今天讲的第二大部分便是网络基础,什么是网络?网络的实质就是一系列的互联网协议,那互联网协议又是什么,我们中国人与中国人之间沟通是说的中文,但与外国人沟通主要就得讲英语了,英语作为使用最为广泛的一门语言,成为了人与人之间沟通的标准,那么互联网协议就可以说是网络界中的英语,就是一种必须遵守的规定,如果没有这种规定,就像一个中国人给一个外国人一直讲中文,那这个外国人就无法识别中国人传达给他的信息,生活就会变得混乱,这就需要一个标准去衡量,这也就是互联网协议存在的意义。

    osi五层模型如下图所示:

    用户上网流程:1.获取本机的IP地址、子网掩码以及网关的IP地址和DNS的IP地址;2.打开一个浏览器,访问百度,在地址栏中输入"www.baidu.com.";3.dns协议(基于udp协议):先访问本地DNS服务器,若本地服务器存在百度的IP地址,那么本地DNS服务器就会反馈给本机并载入缓存以便备查。若没有搜索到百度的IP地址,那么本地DNS服务器就回去访问根DNS服务器,根DNS服务器就会反馈给本地DNS服务器百度的域名是由.com区域管理;然后本地DNS服务器就会再去访问.com域服务器,.com域服务器会反馈给本地DNS服务器百度的域名是有baidu.com主区域的服务器管理;最终本地DNS服务器再去访问baidu.com域服务器得到百度域名的IP地址,从而反馈给本机,这样用户就成功上网了。

  • 相关阅读:
    学校重理论,公司重操作,计算机专业毕业生该何去何从?
    最简单的ajax示例
    几个简单的例子让你读懂什么是JAVA的堆栈跟踪
    避免在JSP中写java代码
    ==和equals()的区别
    测试,我误解了你
    项目管理十大TION法
    Web测试与APP测试有哪些异同?
    spring cglib 与 jdk 动态代理
    java.util.concurrent.Semaphore 使用
  • 原文地址:https://www.cnblogs.com/lxyoung/p/6542944.html
Copyright © 2011-2022 走看看