操作系统与进程.md

1. 操作系统

​ 管理、控制、协调计算机硬件与软件资源的计算机程序。

1.1 作用

  1. 将一些对硬件操作的复杂、丑陋的接口,变成简单、清晰的接口。
  2. 将多个进程对硬件资源(cpu)的竞态请求变得有序化、合理化。

1.2 操作系统的发展

​ linux或windows的源代码有五百万行数量级。

计算机发展史:

  1. 第一代:电子管计算机(1946——1958年),真空电子管,机器语言编写。

    ​ 优点:个人能够独享资源;

​ 缺点: 体积大,功耗高,速度慢,操作繁琐,串行执行。

  1. 第二代:晶体管计算机(1958年—1964年)存储于磁盘,批处理系统

    ​ 优点:批处理,节省机时;

    ​ 缺点:人参与控制,串行执行,统一规划到一批作业中。

  2. 第三代:集成电路计算机(1964年—1970年):多道程序系统

    ​ 背景:1. 集成电路:把所用的硬件变小,线路板。2.不同生产线不兼容,需合并兼容。

    多道程序系统

    1. 空间上的复用:将内存分区域,一个内存可以同时加载多个进程。
  3. 时间上的复用:实现将cpu在多个进程之间来回切换,并且保留状态。

​ 几乎所有的程序又有IO阻塞;同时加载到内存3个进程,每个进程都有阻塞情况,只要cpu运行一个进程遇到IO阻塞时,会立马切换,长时间占用cpu也会切换。 这样能够提升效率,最大限度的使用cpu。

​ 如果是一个IO密集型进程,来回切换提升效率;

​ 如果是一个计算密集型,来回切换降低效率。

​ 再加上计算机采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生。(分时系统

特点:系统化、标准化。

  1. 第四代:大规模集成电路(1970年—至今)

    ​ 集成度更高,体积小,使用方便。

2. 进程的理论

2.1 相关名词

程序:一堆静态的代码文件。

进程:程序的运行过程、任务。 是由操作系统操控调用交与cpu运行。

一个程序可以开启多个进程。

串行:所有的任务一个接一个去完成。

并行:多个cpu执行多个任务,真正的同时完成。

并发:一个cpu完成多个任务,看起来像是同时完成。

阻塞:cpu遇到IO就是阻塞。

非阻塞:没有IO就是非阻塞。

2.2 进程的创建

​ 新的进程创建都是由一个已存在的进程执行调用创建的。

​ 一个主进程可以开启多个子进程;

​ 一个子进程必须依赖主进程才可以开启。

Unix: 由fork创建子进程。linux,mac基于Unix: 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变.

Windows:操作系统调用CreateProcess 处理进程的创建。创建一个子进程,会copy主进程所有的资源,但是会改变一些资源。

2.3 进程的状态:

​ 运行、阻塞、就绪三种状态。

posted on 2019-08-23 17:43  被放弃的程序员  阅读(235)  评论(0编辑  收藏  举报

导航