zoukankan      html  css  js  c++  java
  • 操作系统与进程.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 进程的状态:

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

  • 相关阅读:
    oracle中视图v$sql的用途
    maven 安装jar包命令
    Maven常见异常及解决方法
    对oracle实例的内存(SGA和PGA)进行调整,优化数据库性
    oracle中lock和latch的用途
    oracle中awr性能报告阅读笔记
    oracle 查看并行sql语句的并行数量和如何开并行
    DBMS_STATS.GATHER_TABLE_STATS详解
    关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用
    oracle查看表占用磁盘空间
  • 原文地址:https://www.cnblogs.com/liwenhu/p/11401639.html
Copyright © 2011-2022 走看看