• 第三章读书笔记


    第三章读书笔记

    进程管理——进程概述

    进程:计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

    在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

    进程创建:利用封装函数fork(),利用wait()回收,exit推出。

    进程描述符:task_struct结构   (pcb)

    定义:为了管理进程,操作系统必须对每个进程所做的事情进行清楚地描述,为此,操作系统使用数据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或进程控制块,在linux系统中,它包含了这个进程的所有信息,在任何时候操作系统都能跟踪这个结构的信息

    cpu任务对应结构为:分配进程pcb--存放空间--记录当前数据与状态--记录上下文---索引所有子父关系--等待返回或结束

    进程创建到回收的基本步骤:

    1 在Linux系统中,通常调用fork()系统调用,该系统调用通过复制一个现有进程来创建一个全新的进程。调用fork()的进程被称为父进程,新产生的进程被称为子进程。在该调用结束时,在返回点这个相同位置上,父进程恢复执行,子进程开始执行。fork() 系统调用从内核返回两次:一次回到父进程,另一此回到新诞生的子进程。

    2 通常,创建新的进程都是为了立即执行新的、不同的程序,而接着调用exec*()这族函数就可以创建新的地址空间,并把新的程序载入。在现代Linux内核中,fork()实际上是由clone()系统调用实现的

    3 最终,程序通过exit()系统调用退出执行。这个函数会终结进程并将其占用的资源释放掉。父进程可以通过wait4()系统调用查询子进程是否终结,这其实使得进程拥有了等待特定进程执行完毕的能力。进程退出执行后被设置为僵死状态,直到它的父进程调用wait()或waitpid()为止。

    线程---更小的执行单位

    线程:是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。

    特点:

    1 轻型实体-----只占用必不可少的资源

    2 独立调度和分派的基本单位

    3 可并发执行

    4 共享进程资源

    与进程比较:

    地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

    通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

    调度和切换:线程上下文切换比进程上下文切换要快得多。
    在多线程OS中,进程不是一个可执行的实体。
     
     
    总结:
    操作系统的职能之一,主要是对处理机进行管理。为了提高CPU的利用率。通过进程管理来协调多道程序之间的关系,使CPU得到充分的利用。并设置进程相应的信息方便cpu来回运用,而具体的进程结构需要一定的资源处理,也就是空间换时间了
  • 相关阅读:
    java读写文件
    idea文件全部变红, 文件全部红色
    PowerDesigner连接MySQL数据库
    mysql 使用ip地址连接不上;MySQL 可以用localhost 连接,但不能用IP连接的问题,局域网192.168.*.* 无法连接mysql
    powerdesigner连接MySQL数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Driver
    JSP的九大对象和四大作用域
    C#面试问题及答案
    数据库面试题及答案
    多态的深入理解
    面向对象编程----继承---笔记
  • 原文地址:https://www.cnblogs.com/chuishi/p/5347468.html
Copyright © 2020-2023  润新知