zoukankan      html  css  js  c++  java
  • 进程相关知识点

    概念:
    进程是进程实体的运行过程,它是系统进行资源分配和调度的一个独立单位。
    进程特征:

    动态性:进程的实质是进程实体的执行过程,因此,动态性是进程的最基本的特征。动态性还表现在:它由创建而产生,由调度而执行,由撤销而消亡。
    并发性:多个进程实体同存于内存中,且能在一段时间内同时运行。
    独立性:进程实体是一个能独立运行、独立获取资源和独立接受调度的基本单位。
    异步性:进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进。
    进程的基本状态图:

     进程间通信方式:

    1、管道/匿名管道 :用于具有亲缘关系的父子进程间或者兄弟进程之间的通信。
    2、有名管道: 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道严格遵循**先进先出(FIFO)。有名管道以磁盘文件的方式存在,可以实现本机任意两个进程通信。
    3、信号:信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;
    4、消息队列:消息队列是消息的链表,具有特定的格式,存放在内存中并由消息队列标识符标识。管道和消息队列的通信数据都是先进先出的原则。与管道(无名管道:只存在于内存中的文件;命名管道:存在于实际的磁盘介质或者文件系统)不同的是消息队列存放在内核中,只有在内核重启(即,操作系统重启)或者显示地删除一个消息队列时,该消息队列才会被真正的删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取.比 FIFO 更有优势。消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺。
    5、信号量:信号量是一个计数器,用于多进程对共享数据的访问,信号量的意图在于进程间同步。这种通信方式主要用于解决与同步相关的问题并避免竞争条件。
    6、共享内存:使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。可以说这是最有用的进程间通信方式。
    7、套接字:此方法主要用于在客户端和服务器之间通过网络进行通信。套接字是支持 TCP/IP 的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。

    进程调度方式:

    1、抢占式

    这种调度方式允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给其他线程。

    抢占式不是随意的抢占,而是遵循一定的原则,主要原则有:

    (a)优先权原则,也就是允许优先级高的进程抢占当前进程的处理机。

    (b)短进程优先原则,允许新到的短进程可以抢占当前长进程的处理机。

    (c)时间片原则,即各种进程按时间片轮转运行时,当执行的进程的一个时间片用完,就会停止运行,而重新进行调度。

    2、非抢占式

     一旦处理机分配给一个进程后,其他进程只能等到该进程执行完毕才能获取处理机,只有当发生阻塞时才会将处理机分配给其他进程。

     
    
    
    
     
  • 相关阅读:
    js面试题-----页面布局
    js面试题-----原型和原型链
    js面试题-----运行环境
    js面试题-----开发环境
    js面试题-----事件及ajax
    js面试题-----DOM操作和BOM操作
    js面试题-----异步和单线程及其他知识点
    js面试题-----作用域与闭包
    js面试题-----变量类型和计算
    js学习总结----webapp之使用less构建响应式布局
  • 原文地址:https://www.cnblogs.com/du001011/p/15020317.html
Copyright © 2011-2022 走看看