• 第三章读书笔记


    第三章读书笔记

    进程管理——进程概述

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

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

    进程创建:利用封装函数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来回运用,而具体的进程结构需要一定的资源处理,也就是空间换时间了
  • 相关阅读:
    C#中 @ 的用法
    ASP.NET页面间传值
    ASP.NET中常用的文件上传下载方法
    把图片转换为字符
    把图片转换为字符
    JavaScript 时间延迟
    Using WSDLs in UCM 11g like you did in 10g
    The Definitive Guide to Stellent Content Server Development
    解决RedHat AS5 RPM安装包依赖问题
    在64位Windows 7上安装Oracle UCM 10gR3
  • 原文地址:https://www.cnblogs.com/chuishi/p/5347468.html
Copyright © 2020-2023  润新知