网络编程进阶
一、操作系统介绍 1.1操作系统的功能 什么是操作系统——操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序 封装了复杂的操作硬件的接口,提供给应用程序使用 管理CPU上运行的多个应用程序进程,使多个进程对硬件的竞争变得有序 1.2操作系统发展史 第一代计算机(1940~1955):真空管和穿孔卡片 程序员预约排队,每人固定时间独享计算机 第二代计算机(1955~1965):晶体管和批处理系统 程序员的程序批量进行输入、计算、输出,依旧是串行进程 1401机负责输入输出,7094机负责计算 第三代计算机(1965~1980):集成电路芯片和多道程序设计 多道技术: 多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用 通过在A程序进行I/O时的间隙去解决B程序的计算,最大化CPU效率, 核心在于切之前将进程的状态保存下来,这样才能保证下次切换回来时,能基于上次切走的位置继续运行 空间上的复用 将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序(需要物理层面的对内存进行分区) 时间上的复用(复用一个cpu的时间片) 当一个程序在等待I/O时(或者执行时间过长),CPU切换出去,另一个程序可以使用cpu