首页 > 其他分享 >学习笔记6

学习笔记6

时间:2023-10-21 11:03:42浏览次数:42  
标签:调用 系统 笔记 学习 终止 进程 多任务处理 执行

教材第三章知识点总结

Unix/Linux进程管理:

  1. 多任务处理:

    • 多任务处理是指操作系统同时运行多个进程或线程的能力。
    • 操作系统通过时间片轮转或优先级调度等算法来实现多任务处理。
    • 多任务处理可以提高系统的资源利用率和响应速度。
  2. 进程的概念理解:

    • 进程是程序的执行实例,是操作系统进行资源分配和调度的基本单位。
    • 进程由程序代码、数据和执行状态等组成。
    • 每个进程都有一个唯一的进程标识符(PID)。
    • 进程可以通过系统调用创建、销毁和管理。
  3. 多任务处理系统:

    • 多任务处理系统是一种能够同时运行多个任务的操作系统。
    • type.h文件定义了进程控制块(PCB)的数据结构。
    • ts.s文件包含了多任务处理系统的汇编代码。
    • queue.c文件实现了进程的队列操作。
    • t.c文件是多任务处理系统的主程序,包含了进程的创建、调度和管理等功能。
  4. 进程同步:

    • 进程同步是指多个进程之间按照一定的顺序执行,以避免竞争条件和数据不一致问题。
    • 睡眠模式是一种进程等待的机制,使得进程在满足某个条件之前暂停执行。
    • 唤醒操作是将一个或多个等待的进程从睡眠状态唤醒,使其继续执行。
  5. 进程终止:

    • kexit()是进程终止的算法,用于将进程从系统中移除。
    • 进程家族树是以INIT进程为根的进程树形结构,用于表示进程之间的关系。
    • 等待子进程终止是通过wait()或waitpid()系统调用来实现的,父进程会阻塞直到子进程终止。
  6. MT系统中的进程管理:

    • MT系统中的进程管理包括进程的创建、调度、终止和资源管理等。
    • 进程的创建使用fork()系统调用来创建一个与当前进程相同的子进程。
    • 进程的调度由操作系统的调度算法决定,可以通过设置进程的优先级来影响调度顺序。
    • 进程的终止可以通过exit()系统调用显式终止,或者当进程执行完毕时自动终止。
    • 进程的资源管理包括对内存、文件和设备等资源的分配和释放。
  7. Unix/Linux中的进程:

    • 进程来源可以是用户通过Shell命令启动,或者由其他进程创建。
    • INIT进程是Unix/Linux系统中的第一个进程,是所有进程的祖先。
    • 守护进程是在后台运行的进程,通常用于执行系统任务。
    • 登录进程是用户登录系统时启动的进程,通常是getty或sshd。
    • sh进程是Shell进程,用于解释和执行用户输入的命令。
    • 进程的执行模式可以是顺序执行、并发执行或并行执行。
  8. 进程管理的系统调用:

    • fork()系统调用用于创建一个与当前进程完全相同的子进程。
    • 进程执行顺序由操作系统的调度算法决定。
    • 进程终止可以通过exit()系统调用显式终止,或者当进程执行完毕时自动终止。
    • 等待子进程终止可以使用wait()或waitpid()系统调用。
    • Linux中的subreaper进程是一种特殊的进程,可以接管孤儿进程的终止处理。
    • exec()系统调用可以更改进程的执行映像,即加载并执行新的程序。
    • 环境变量是进程运行时可用的全局变量,可以通过getenv()和setenv()等系统调用进行操作。
  9. I/O重定向:

    • 文件流是对文件描述符的高级封装,提供更方便的I/O操作接口。
    • 文件流I/O是通过标准库函数如fopen()、fread()等进行文件读写。
    • 重定向标准输入是将标准输入从键盘改为从文件中读取。
    • 重定向标准输出是将标准输出从屏幕改为输出到文件中。
  10. 管道:

    • Unix/Linux中的管道是一种进程间通信机制,用于在两个进程之间传递数据。
    • 管道命令处理是指使用管道连接多个命令,将一个命令的输出作为另一个命令的输入。
    • 将管道写进程与管道读进程连接起来可以实现进程间的数据传输。
    • 命名管道是一种特殊的文件,用于实现不相关进程间的通信。

苏格拉底挑战





实践



标签:调用,系统,笔记,学习,终止,进程,多任务处理,执行
From: https://www.cnblogs.com/wang-chen-kai/p/17778609.html

相关文章

  • React学习笔记14-dangerousSetinnerHtml指令
    1.使用场景dangerouslySetInnerHTML指令能将字符串当做html解析相当于vue中的v-html指令一般我们用来渲染富文本返回的html文本2.使用方法{this.state.tolist.map((item,index)=>{return(<spandangerouslySetInnerHTML={{__html:item}}ke......
  • 基于深度学习的玉米病害识别:探索农业智能化的前沿技术【玉米病害识别实战】
    玉米是世界上最重要的粮食作物之一,然而,玉米病害对其产量和质量造成了严重威胁。传统的病害识别方法通常依赖于人工观察和经验判断,效率低下且易受主观因素影响。近年来,基于深度学习的图像识别技术在农业领域取得了显著进展,为玉米病害的快速、准确识别提供了新的解决方案。本文将介绍......
  • 现代无线移动通信学习
    一、绪论1.1、无线移动通信发展历程  20世纪五六十年代,贝尔实验室蜂窝概念:分出多个小区,每个小区一个基站,相同的频段可以在相距较远的小区间重复使用,小区间干扰处理技术使得相同的频段可以在相邻的小区间重复使用。  第一代移动通信系统是模拟通信系统,形成于20世纪80年代,采......
  • makefile学习记录 :一个工程里有多个makefile 如何make根目录下的makefile 调用子目录
    注:本文个人学习记录目的:一个工程里有多个makefile如何make根目录下的makefile调用子目录下的makefile,编译所有.c文件如图所示目录结构,根目录server:makefile;子目录so:makefile  根目录makefile:GCC=gccAPP=server ALL_C=$(wildcard./*.c)C_OBJ=$(notdir$......
  • java基础漏洞学习----文件操作漏洞
    java基础漏洞学习----文件操作漏洞前置基础知识https://www.cnblogs.com/thebeastofwar/p/17760812.html文件上传漏洞文件上传的方式1.通过文件流index.jsp<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOC......
  • 《架构师之路:软件架构之美》第六七章读书笔记
    6.1软件架构有助于交付高质量的产品软件架构是关于结构和愿景的,不思考软件架构(以及“大局”)会导致团队经常遭遇一些常见问题。你的软件系统有良好定义的结构吗?团队里每个人都以一致的方式实现特性吗?代码库的质量水平一致吗?对于如何构建软件,团队有共同的愿景吗?团队里每个人都......
  • 《软件工程:方法与实践》读书笔记3
    1.瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品,也称为“线性顺序模型”或者“传统生命周期”。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施......
  • MySQL学习(6)单表访问方法
    什么是访问方法MySQL执行查询语句的方式称为访问方法(accessmethod)。单表的访问方法有哪些const通过主键或唯一二级索引列定位一条记录的方法叫const,这种方法要求主键列或者唯一二级索引列与一个常数进行等值比较时才有效。注意,使用唯一二级索引且搜索条件为ISNULL无效。例......
  • 原码、反码、补码学习
    Java没有无符号数,所以首位都是符号位标志位0表示正数,1表示负数原码是数字的二进制表示,首位为符号位数字的表示用原码,计算用补码(因为计算机只有加法器,减法转换为加法)正数的原码=反码=补码(三码合一)负数反码=原码符号位不变,其余取反负数的补码=反码+10的补码=0000......
  • 思路开发银行流水生成器,仅供学习,可按参数生成数据
    其实小编我自己也比较闲,那么今天就给大家分享一款用易语言开发的银行流水生成器,别说,做的还挺像的~~~~~~~~~~我先把界面给大家奉上来,大家看下 然后核心代码部分我会在这里给大家贴出来,然后软件的话可以去我自己的博客能下载到的!!!============================================......