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 进程的状态:

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

操作系统与进程.md的更多相关文章

  1. 操作系统:进程管理和IO控制

    一.进程管理 进程管理包括进程控制,进程调度,进程同步与通信,死锁控制四个内容. (一)进程控制 进程是操作系统中运行的基本单位,包括程序段,数据段和进程控制段.操作系统通过进程控制块(PCB)管理进 ...

  2. python 操作系统和进程

    一. 操作系统介绍 多道程序系统 多道程序设计技术       所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行.即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种 ...

  3. 操作系统发展史 & 进程

    今日内容 UDP协议 操作系统发展史 进程 单核情况下的进程调度 进程三状态图 同步异步 阻塞非阻塞 内容详细 一.UDP协议 1.什么是UDP协议 UDP是传输层的协议,功能即为在IP的数据报服务之 ...

  4. 【windows 操作系统】进程控制块(PCB)

    转载地址:https://blog.csdn.net/qq_38499859/article/details/80057427一.目录文章目录    操作系统3 ----进程控制块(PCB)详解    ...

  5. 【windows 操作系统】进程

    前言 Windows的内部实现也近似于"一切皆文件"的思想,当然,这一切都只在内核里才有,下载一个WinObj这软件就可以看到,Windows上各种设备.分区.虚拟对象都是挂载到根 ...

  6. 深入理解Linux操作系统守护进程的意义

    Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的.守护进程 ...

  7. 操作系统之进程篇(4)--经典进程间通信(IPC)问题

    1. 哲学家进餐问题: 问题描述: 五个哲学家在一个圆桌上进餐,每人的面前放了一盘意大利面,两个盘子之间有一个叉子,但是由于盘子里面的面条十分光滑,需要两个叉子才能进行就餐行为.餐桌的布局如下图所示: ...

  8. Python开发——13.操作系统、进程和线程

    一.操作系统 1.定义 操作系统是用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间.操作系统运行在内核态,拥有对所有硬件的完全访问权,可以执行机器能够运行的任何指令.软件的 ...

  9. LINUX操作系统知识:进程与线程详解

    当一个程序开始执行后,在开始执行到执行完毕退出这段时间内,它在内存中的部分就叫称作一个进程. Linux 是一个多任务的操作系统,也就是说,在同一时间内,可以有多个进程同时执行.我们大家常用的单CPU ...

随机推荐

  1. 搭建rabbitmq集群

    查看rabbitmq日志文件 开启web管理工具 [root@controller rabbitmq]# rabbitmq-plugins list [root@controller rabbitmq ...

  2. 16、基于状态的iptable+高级路由(重点)

    --   基于状态的iptables   如果按照tcp/ip来划分连接状态,有12种之多 但iptables里只有4种状态:ESTABLISHED.NEW.RELATED及INVALID   这两个 ...

  3. 201871010131-张兴盼 《面向对象程序设计(Java)》第十周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...

  4. Maven 中 dependencyManagement 元素,知识点

    Maven 提供的 dependencyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性.在 dependencyManagement 元素下的依赖声明不会 ...

  5. Slack完整教学与上手心得:找到正确的团队沟通之道

    Slack完整教学与上手心得:找到正确的团队沟通之道 时间 2015-06-13 09:21:42 逐鹿网 原文  http://www.zhulu.com/article/5519.html 主题 ...

  6. LeetCode 145. Binary Tree Postorder Traversal二叉树的后序遍历 (C++)

    题目: Given a binary tree, return the postorder traversal of its nodes' values. Example: Input: [1,nul ...

  7. [LeetCode] 889. Construct Binary Tree from Preorder and Postorder Traversal 由先序和后序遍历建立二叉树

    Return any binary tree that matches the given preorder and postorder traversals. Values in the trave ...

  8. 第01组 Beta冲刺(2/5)

    队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/11998909.html 作业博客: https://edu.cnblogs.com/campus/fz ...

  9. oracle--JOB任务

    1.创建一张测试表 -- Create table create table A8 ( a1 VARCHAR2(500) ) tablespace TT1 pctfree 10 initrans 1 ...

  10. http & https & http/2 & SPDY & WebSocket

    参考文章: http https :https://www.jianshu.com/p/d286d097e56b https & ssl:https://www.jianshu.com/p/2 ...