• 进程和线程


    进程是操作系统提供的抽象。即所有的cpu只能使用一个。

     一、进程

    在进程模型中。计算机所有可运行的软件,包括操作系统,被组成程顺序进程,简称为进程。

    一个进程就是一个程序运行的实例,它包括程序计数器,寄存器,和变量的当前值。

    进程和程序的区别

    一个进程,就是某种类型程序的一次运行的过程,它包括输入输出,以及状态、程序。如果一个程序被运行了两次。那么是两个进程。因为内存中,会共享代码。但是不会改变进程的状态。

     四种事件导致进程的创建

    1.系统初始化(init)

    2.执行了正在运行的进程所调用的进程进行系统调用(fork)

    3.用户请求创建一个新进程

    4.批处理作业的初始化

    在unix操作系统中,只有一个系统调用可以创建进程,就是fork。这个系统调用创建一个和调用进程相同的副本

    进程的终止

    进程出现以下情况会终止

    1.正常退出(exit)

    2.出错退出

    3.严重退出

    4.被其他进程杀死 (kill)

    进程的层次结构

    一个进程中创建了另外一个进程,则新创建的进程就是子进程,它和父进程以某种形式保持关系。一个进程只有一个父进程。可以有0个或者多个子进程。

    在unix系统中,有一个init进程。它是进程树的根。

    进程的状态

    cat hello.txt | grep world 

    这将是两个进程 cat 和grep

    进程的状态。有三种 就绪=》运行=》阻塞

    转换2和3之间的状态,是进程调度,由操作系统完成。

    进程实现

    实现进程,操作系统需要维护一张表格,即进程表。这个表包含以下的字段信息

    二、线程

     线程又叫迷你进程,是存在进程的单元。线程之间共享内存。线程更轻量。创建线程比创建线程开销小的多。

  • 相关阅读:
    uart协议--Verilog及仿真
    DC综合的流程
    modelsim将vcd文件转换成wlf文件并查看波形
    将系统盘还原成原来的普通u盘
    Ubuntu的操作命令
    gvim快捷键
    dc_shell环境下TCL语言的使用
    AHB总线学习
    Ubuntu文件共享
    Linux基础学习 | 目录及文件
  • 原文地址:https://www.cnblogs.com/tl542475736/p/7677114.html
Copyright © 2020-2023  润新知