zoukankan      html  css  js  c++  java
  • Python 第三十二章 操作系统基础

    操作系统基础

    进程基础

    1、程序:
    一堆静态代码文件
    2、进程:
    1.一个正在运行的程序进程 抽象的概念
    2.由操作系统操控调用交给CPU运行 被CPU运行
    

    操作系统

    1.管理协调计算机中硬件和软件的关系
    2.操作系统的作用:
    如果没有操作系统,在软件开发中需要开发两层:
    第一层:对硬件(CPU,内存,磁盘等等)协调,调用
    第二层:如何调用各种接口去编程
    作用:
    1.将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口,open函数
    2.多个进程抢占一个CPU资源时,操作系统会执行变得合理有序
    阻塞方法:input read write sleep send recv accept sendto recvfrom
    

    操作系统的发展史

    最早出现的计算机:算盘
    电子类的计算机发展史:
    第一代:1940~1955
    优点:个人独享整个计算机资源
    缺点:耗时,硬件调试插线;都是串行执行
    第二代:1955~1965磁带存储--批处理系统
    优点:不用亲自对硬件进行插线操控,效率提高;可以进行批量处理代码
    缺点:程序员不能独自使用计算机;所有程序还是串行
    第三代:1955~1965集成电路,多道程序系统
    大背景:集成电路,把所有的硬件编程小线路板;将两套不同的生产线合并成一条生成线
    技术上的更新:多道技术
    1.空间上的复用:
    将内存分区域,一个内存可以同时加载多个进程
    2.时间上的复用:
    实现将CPU在多个进程之间来回切换,并且保留状态
    几乎所有的程序都有IO阻塞
    同时加载到内存3个任务,3个进程,每个进程都有阻塞情况,只要CPU运行一个进程时,遇到IO阻塞立马切换,长时间占用CPU也会切换
    提升了效率,最大限度的使用CPU
    如果是一个IO密集型进程,来回切换提升效率
    如果是一个计算密集型,来回切换降低效率
    第三代广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生
    每个人占用计算机的资源是有限的
    多个(少于10个)共同使用一个计算机主机
    第四代计算机:1980~至今
    

    进程的理论

    1.串行:所有的任务一个一个的完成
    2.并行:多个CPU执行多个任务,真正的同时完成
    3.并发:一个CPU执行多个任务,看起来像是同时完成
    4.阻塞:CPU遇到IO就是阻塞
    5.非阻塞:没有IO就是没有阻塞
    6.进程的创建:
        1.一个子进程必须依赖于一个主进程才可以开启
        2.一个主进程可以开启多个子进程
        3.unix: fork创建子进程.
        4.unix(linux,mac): 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变.
        5.windows: 操作系统调用CreateProcess 处理进程的创建.
        6.windows:创建一个子进程,会copy主进程所有的资源,但是会改变一些资源.
    7.进程的状态:运行阻塞就绪
    

    多进程

  • 相关阅读:
    最好的 6 个 HTML5 的多媒体播放器
    原型开发、模型构建和设计反馈在线工具
    让Xcode 4.2生成的app支持旧版iOS设备(armv6)
    TOUCHXML解析xml
    50 个最佳 CSS3 教程大放送
    十八般武艺!移动应用开发者必备的18款利器
    ios开源程序集
    iOS如何隐藏各种bar
    读书笔记之:C语言教程(C程序设计第三版)——清华大学
    JM8.6中帧内帧间模式的选择
  • 原文地址:https://www.cnblogs.com/zhangshan33/p/11379431.html
Copyright © 2011-2022 走看看