zoukankan      html  css  js  c++  java
  • 20191330雷清逸 学习笔记6

    20191330 雷清逸 学习笔记6(第3章)

    一、知识点归纳以及自己最有收获的内容

    知识点归纳

    多任务处理

    1.该部分主要介绍了多任务处理的定义,多任务处理指的时同时进行几项独立活动的能力。
    2.多任务处理是通过在不同任务之间多路复用CPU执行时间来实现的。
    3.如果切换速度够快,就会给人一种通知执行所有任务的错觉。这种逻辑并行性称为“并发”。

    进程的有关概念

    进程是对映像的执行

    1.操作系统内核将一系列执行视为使用系统资源的单一实体。

    多任务处理系统

    1.type.h文件 → 定义了系统常熟和表示进程的简单PROC结构体
    2.ts.s文件 → 在32位GCC汇编代码中可实现进程上下文切换
    3.queue.c文件 → 可实现队列和链表操作函数。
    (1)enqueue()函数按优先级将PROC输入队列中。在优先级队列中,具有相同优先级的进程按照FIFO的顺序排序。
    (2)dequeue()函数可返回从队列或链表中删除的第一个元素。
    (3)printList()函数可打印链表元素。
    4.t.c文件 → 定义MT系统数据结构、系统初始化代码和进程管理函数
    5.多任务处理系统代码介绍
    (1)init()初始化系统
    (2)tswitch()实现进程上下文切换
    (3)kfork()创建优先级为1的子进程

    进程同步

    一组进程为了协调其推进速度,在某些地方需要相互等待或者唤醒,这种进程间的相互制约就被称作是进程同步。这种合作现象在操作系统和并发式编程中属于经常性事件。
    1.睡眠模式 → 当某进程需要某些当前没有的东西时,例如申请独占一个存储区域、等待用户通过标准输入来输入字符等,它就会在某个事件值上进入休眠状态,该事件值表示休眠的原因。
    2.唤醒模式 → 多个进程可能会进入休眠状态等待同一个事件,这是很自然的,因为这些进程可能都需要同一个资源,例如一台当前正处于繁忙状态的打印机。在这种情况下,所以这些进程都将休眠等待同一个事件值。

    进程终止

    1.正常终止 → 进程调用exit(value),发出_exit(value)系统调用来执行在操作系统内核中的kexit(value)
    2.异常终止 → 进程因某个信号而异常终止

    I/O重定向

    标准输入和输出
    程序:指令+数据
    读入数据:Input
    输出数据:Output

    打开的文件都有一个fd:file descriptor(文件描述符)

    Linux给程序提供了三种I/O设备

    标准输入(STDIN) -0 默认接受来自键盘的输入
    标准输出(STDOUT) -1 默认输出到终端窗口
    标准错误(STDERR) -2 默认输出到终端窗口

    管道

    管道是用于进程交换数据的单向进程件通信通道。管道有一个读取端和一个写入端。
    管道(使用符号“|”表示)用来连接命令
    命令1 |命令2|命令3
    将命令1的STDOUT发送给命令2的STDIN,命令2的STDOUT发送给命令3的STDIN
    STDERR默认不能通过管道转发,可利用2>&1或|&实现
    最后一个命令会在当前shell进程的子shell进程中执行
    组合多种工具的功能
    ls | tr ‘a-z’ ‘A-Z’

  • 相关阅读:
    idea 快捷键 记录
    Spring Boot 之注解@Component @ConfigurationProperties(prefix = "sms") 使用@ConfigurationProperties读取yml配置
    SpringData Jdbc
    设备树中指定的中断触发方式与request_irq中指定的触发方式不一致时,内核会使用哪种中断触发方式呢?
    设备树中的interrupts属性解析
    编译grub时报告"grub_script.yy.c:19:22: error: statement with no effect [-Werror=unused-value]"怎么处理?
    uefi是如何启动linux内核的?
    markdown中如何设置字体为红色?
    linux下如何查看磁盘分区所使用的文件系统格式?
    bootargs中的rootwait 与rootdelay有什么区别?
  • 原文地址:https://www.cnblogs.com/leo-skr/p/15460202.html
Copyright © 2011-2022 走看看