首页 > 其他分享 >信息安全系统设计与实现学习笔记6

信息安全系统设计与实现学习笔记6

时间:2023-10-22 14:34:39浏览次数:36  
标签:文件 调用 信息安全 系统 笔记 学习 exit 进程 执行

自学笔记6 - 重点总结

1. Unix/Linux进程管理

  • 进程是对映像的执行。进程的产生是通过执行一个程序或指令,将程序加载到内存中成为一个独立的实体,并分配一个唯一的PID。

  • 子进程与父进程的关系:在bash中再调用bash时,会形成父子关系。注意要正确处理父进程生成子进程后的情况。

  • 进程的产生过程:

    1. 父进程调用 fork() 生成一个与自己一模一样的子进程。
    2. 子进程再调用 exec 执行实际的程序。
  • 常驻内存的进程通常是服务型程序,被称为守护进程(daemon)。它们通常在文件名后会添加一个 'd' 以示区分。

  • 在单一bash接口下进行多个工作时,可以在命令后加上 & 表示将命令放置于后台中执行。

  • 进程同步是指控制和协调进程交互以确保其正确执行所需的各项规则和机制。其中,休眠和唤醒是最简单的同步工具。

  • 进程的睡眠状态有两种:可中断的睡眠状态(TASK_INTERRUPTIBLE)和不可中断的睡眠状态(TASK_UNINTERRUPTIBLE)。

  • 进程的正常终止可以通过调用 exit(value)_exit(value) 系统调用来实现。

2. 多任务处理

  • 多任务处理系统的基本实现包括:
    • type.h 文件:定义系统常数和表示进程的简单 PROC 结构体。
    • ts.s 文件:在32位GCC汇编代码中实现进程上下文切换。
    • queue.c 文件:实现队列和链表操作函数,包括 enqueue()dequeue()
    • t.c 文件:定义多任务系统数据结构、系统初始化代码和进程管理函数。

3. 进程管理的系统调用

  • fork(): 创建子进程并返回子进程的pid。在 fork 函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。

  • wait(int *status): 父进程一旦调用了 wait 就立即阻塞自己,直到有子进程退出为止。

  • exec(): 用于在子进程中执行另一个程序,完全替换当前进程的执行映像。

  • exit(): 用于退出当前进程。

4. 进程的执行模式

  • 中断:外部设备发送给CPU的信号,请求CPU服务。

  • 陷阱:错误条件,例如无效地址、非法指令、除以0等。

  • 系统调用:允许Umode进程进入Kmode以执行内核函数的机制。

5. I/O重定向

  • 文件流和文件描述符:每个文件流都是指向执行映像堆区中 FILE 结构体的一个指针。每个打开文件都用一个文件描述符(数字)表示。

  • 文件流I/O和系统调用:库函数的调用会试图从文件流中获取数据。

6. 管道

  • 命名管道(FIFO):有名称,以特殊文件的形式存在,用于进程间通信。

  • 管道命令处理:通过管道将一个进程的输出传递给另一个进程作为输入,实现进程间通信。

标签:文件,调用,信息安全,系统,笔记,学习,exit,进程,执行
From: https://www.cnblogs.com/gd1220/p/17780415.html

相关文章

  • 学习笔记6
    第3章Unix/Linux进程管理1.Unix/Linux中的进程什么是进程:进程是计算机中正在执行的程序的实例。每个进程有自己的内存空间、寄存器状态、文件描述符等信息,使其独立于其他进程。进程通常包括程序代码、数据、栈、堆以及进程控制块(ProcessControlBlock,PCB)等信息。进程状态:......
  • 深度学习驱动的图像场景分类:窥探视觉智能的未来【图像场景实战】
    图像场景分类是计算机视觉领域的重要任务之一,它涉及将图像分为不同的场景类别,如城市街景、山脉风景、海滩等。本文将介绍基于深度学习的图像场景分类方法,并提供相应的代码实例,展示了深度学习在图像场景分类中的技术深度和应用前景。图像场景分类是计算机视觉中的一项关键任务,对于图......
  • CAN协议信号位-大小端学习记录
    CAN协议信号位-大小端学习进入汽车行业虽然是软件开发但是对底层的信号传递还是很感兴趣的,深入的学习了一下CAN协议中提到的大小端内容。还挺有意思的。我抽几个信号进行学习推断。有很多信号的推断我直接附上手绘图片仅记录一下分析过程。前提条件:了解DBC数据库文件能看懂了......
  • 编程学习思考
    编程学习的思考2023-10-2114:50:29星期六(初稿)大家好!自从大一开始进入计算机科学与技术专业学习,便就开始踏入编程的学习之旅。又是一个秋季,整整三年了!三年以来,自然是有不少成长,现在回想,这一路中也遇到很多的挫折,也受到过许多”愚蠢“的思想的影响···,跌跌撞撞地前行,当然在这......
  • ABB AC900F学习笔记327:WINCC7.5SP2作为OPC SERVER,freelance2019SP2作为OPCC LIENT练习
    这一篇博客我在新浪博客记录过,地址是 ABBAC900F学习笔记327:WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT练习_来自金沙江的小鱼_新浪博客(sina.com.cn)为了避免丢失,我在这里再次记录一遍今天做一个练习,WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT。......
  • 学习笔记6 第三章的自学归纳
    学习笔记6第三章的自学归纳多任务处理一般来说,多任务处理指的是同时进行几项独立活动的能力。在计算机技术中,指的是同时执行几个独立的任务。多任务处理是所有操作系统的基础,总的来说,它也是并行编程的基础。进程的概念进程是对映像的执行,操作系统内核将一系列执行视为使......
  • 2023-2024-1 20231307刘芷彤 《计算机基础与程序设计》第4周学习总结
    作业信息 这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04这个作业的目标自学教材《计算机科学概论》第4章,第5章 《C语言程序设计》第3章并完成云班课......
  • 学期2023-2024-1 20231403 《计算机基础与程序设计》第四周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第四周作业)这个作业的目标自学计算机科学概论第4章,第5章,《C语言程序设计》第3章作业正文https://www.cnblogs.com/lsrmy/p/17......
  • 2023-2024-1 20231308 《计算机基础与程序设计》第四周学习总结
    2023-2024-120231308《计算机基础与程序设计》第四周学习总结作业信息这个作业属于哪个课程[2023-2024-1-计算机基础与程序设计]这个作业要求在哪里2023-2024-1计算机基础与程序设计第四周作业这个作业的目标《计算机科学概论》第4章,第5章并完成云班课测试;《C......
  • Go笔记(2)-5种运算符总结
    运算符(1)算术运算符(2)关系运算符(3)逻辑运算符(4)位运算符(5)赋值运算符......