子系统pinctrl linux

第十周Linux教材第六章学习笔记——信号和信号处理

信号和信号处理 6.1 信号和中断 在Linux中,信号是一种异步通信机制,用于通知进程发生了某些事件。 当进程接收到信号时,它可以选择忽略信号、执行默认操作或执行自定义操作。 “中断”是从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。而“信号”是要发送给进程的请求 ......
信号 信号处理 教材 笔记 Linux

20211105李宜时信息安全系统设计与实现学习笔记9

信号和信号处理包括信号和中断 1. 信号和中断的基础 定义和概述:解释信号在操作系统中的作用,它们如何与中断相关。 信号类型:列出常见的 UNIX/Linux 信号,例如 SIGINT, SIGTERM, SIGKILL 等。 2. UNIX/Linux 信号示例 实例演示:通过实际示例展示信号如何 ......
20211105 笔记 系统 信息

完成C#药品进销存系统的修改与查询功能

1.药品查询功能 代码: //从数据库读取数据显示到表 public void Table() { dataGridView1.Rows.Clear();//清空旧数据 Dao dao = new Dao(); string sql = "select * from Drugs"; IDataRea ......
查询功能 进销存 药品 功能 系统

Linux文件管理

Linux 的所有文件都在根目录之下。 常见的目录有: /bin:存放二进制可执行文件,常用命令一般在此 /home:存放用户文件的根目录,是用户主目录的点。 /root:超级用户的主目录; 常见的命令: cd:切换目录 ../ 返回上一级目录 .表示当前目录 pwd:查看当前所在目录 添加 -p ......
文件 Linux

性能测试复习准备——linux环境下安装redis(7.0.5)

参考博客:https://blog.csdn.net/qq_52227892/article/details/130649748 参考博客:https://www.cnblogs.com/756623607-zhang/p/17412640.html 使用的redis版本下载:本文中安装的版本为:h ......
性能 环境 linux redis

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

学习笔记 9 一、知识点归纳以及自己最有收获的内容 1. 信号和信号处理 进程的概念 一个“进程”是一系列活动,包括从事日常事物的人、在用户模式或内核模式下运行的Unix/Linux进程以及执行机器指令的CPU。 中断 中断可分为三类:来自硬件的中断、来自其他人的中断、自己造成的中断。 人员中断可根 ......
笔记 系统 信息

windows11配置wsl2虚拟linux环境

windows11配置wsl2虚拟linux环境 wsl( Windows Subsystem for Linux )是microsoft官方为windows开发的模拟Linux方法。避免了虚拟机vmware的性能损耗开销,或者双系统两者不能同时运行的问题。wsl2似乎可以满足大部分Linux需求。 ......
windows 环境 linux wsl2 wsl

Linux vim退出命令

在vim中,按ESC键,跳到命令模式,然后输入: :w - 保存文件,不退出 vim :w file -将修改另外保存到 file 中,不退出 vim :w! -强制保存,不退出 vim :wq -保存文件,退出 vim :wq! -强制保存文件,退出 vim :q -不保存文件,退出 vim :q ......
命令 Linux vim

linux的学习2

用户管理: id:显示用户以及所属群组的实际与有效ID 1.useradd -m 用户名 (描述:-m 自动创建这个用户的主目录 /home/用户名) 2.useradd -g 组名 用户名 (描述:添加新用户到某个组) 3.userdel -r 用户名(描述:-r 删除用户的时候将他的目录也一并删 ......
linux

LINUX 图形界面无网卡,命令行DOWN

本文只针对部分情况,网卡未加入托管导致 本人遇到的问题 虚拟机开启 ifconfig 没有ens33网卡,无法上网,同时 图形化模式 没有有线连接选项手动启动网卡提示: Connection 'ens33' is not available on device ens33 because devic ......
网卡 图形 界面 命令 LINUX

Linux设备树dtb文件生成问题(make dtbs)

在make dtbs的时候遇到了无信息提示的问题,正确结果应该是如图所示 且移植dtb文件时需要到dts文件夹下进行cp覆盖 ......
文件 设备 问题 Linux make

一个操作系统的设计与实现——第14章 文件系统

文件系统是操作系统的一个重要模块。本章将要实现的是文件系统。 14.1 什么是文件系统 文件系统是操作系统用于管理硬盘,并使硬盘更易于使用的模块。 想要管理硬盘,就需要记录硬盘扇区的使用情况,可以使用位图实现这个功能。 想要让硬盘更易于使用,就需要一个非常关键的概念:文件。文件可以将底层的起始扇区号 ......
系统 文件

一个操作系统的设计与实现——第17章 系统交互

操作系统最终是供用户使用的,所以其需要具备与用户交互的能力,交互方式可以是命令行,图形界面,甚至是触摸屏,语音,实体按钮等。本章将要实现的是系统交互。 17.1 外壳程序 我们的操作系统使用的是基于命令行的交互模式。实现此功能的模块被称为外壳(Shell)程序。 事实上,上一章的Test.c已经是一 ......
系统

一个操作系统的设计与实现——第15章 键盘驱动(上)

到目前为止,我们的操作系统只能输出而不能输入。本章将要实现的是键盘驱动,其能让我们的操作系统接收键盘输入。 15.1 键盘驱动的原理 当按下键盘上的键时,发生了什么呢?原来,每当按下键盘上的键,键盘都会发起至少一次键盘中断;每当一个键弹起时,键盘又会发起至少一次键盘中断;如果一直按住一个键不松手,键 ......
键盘 系统

一个操作系统的设计与实现——第16章 键盘驱动(下)

我们的操作系统虽然已经实现了键盘驱动,但其功能仅限于在屏幕上打印输入的字符,任务并不能读取到这些字符。本章将要实现读取键盘输入的系统调用。 16.1 读取键盘输入的原理 想要让任务读取到键盘输入,最简单的方法是构造一个数组,当键盘中断发生时,将键盘输入的字符保存在这个数组中。然而,这个方案有一个无法 ......
键盘 系统

一个操作系统的设计与实现——第8章 内存管理系统

计算机上的任何程序,包括操作系统自己,都需要使用内存。因此,操作系统需要实现内存管理系统,以进行内存的分配和回收。 在我们的操作系统中,内存管理系统由两部分组成:页分配器与页回收器。本章将实现这两个部分。 8.1 从虚拟地址到物理地址 回顾CPU对内存地址的转换过程: 使用段寄存器中的段选择子,在G ......
系统 管理系统 内存

一个操作系统的设计与实现——第7章 中断

7.1 什么是中断 中断是一种能够随时打断CPU正常工作的机制。这句话看着挺别扭的,CPU工作的好好的,为什么要"随时打断"它?这是因为,CPU需要为诸多外部设备提供服务,以键盘为例,当键盘上的键被按下时,CPU需要对此做出响应和处理,如果不能及时响应,我们会说:"电脑很卡";如果一直都不能响应,我 ......
系统

一个操作系统的设计与实现——第3章 保护模式

实模式下,内存的访问是没有任何限制的,任何程序都能访问和修改任何内存地址,这就导致了实模式下的程序,甚至操作系统自己,都可能自身难保。于是,自8086的下一代产品80286起,保护模式诞生了;进一步的,自80386起,32位保护模式诞生了。 3.1 内存为什么要分段 在学习保护模式之前,需要先讨论一 ......
模式 系统

一个操作系统的设计与实现——第5章 加载内核

一直以来,我们都在使用汇编语言对MBR编程,但对于操作系统这样的复杂程序来说,使用汇编语言是比较困难的。本章将实现操作系统内核的加载与进入。 5.1 读硬盘的实现原理 操作系统存储于硬盘中,现在需要将其读出至内存。想要读硬盘,就需要依次进行以下操作: 设定读取的扇区数 设定起始扇区号 发送读硬盘命令 ......
内核 系统

一个操作系统的设计与实现——第9章 硬盘驱动

操作系统应当具备读写硬盘的能力。因此,本章将要实现的是硬盘驱动。硬盘驱动由两个函数构成:读硬盘函数与写硬盘函数。 9.1 读硬盘 想要读硬盘,就需要提供以下三个信息: 起始扇区号 读取的扇区数 数据存储的地址 需要注意的是:读取的扇区数只能是一个8字节的整数。 由于读硬盘需要使用大量的端口读写指令, ......
硬盘 系统

一个操作系统的设计与实现——第6章 显卡驱动

进入内核以后,应该做些什么呢?本章将实现一个最容易看到效果的模块:显卡驱动。 6.1 什么是驱动 驱动这个词听起来很高大上,但实际上很简单,就是硬件的接口函数。在软件工程中,可以使用接口封装和简化设计,硬件也是一样。例如:想要读硬盘,需要很多指令设定好几个端口,然后等待硬盘就绪,最后才能读硬盘。这一 ......
显卡驱动 显卡 系统

一个操作系统的设计与实现——第10章 任务(一):共享内核

一直以来,我们的操作系统在启动后,运行的都是Kernel.c中的main函数。只运行这一个函数是不够的,操作系统应当有能力加载并运行其他程序。 从本章开始,将使用四章的篇幅讨论操作系统如何加载并运行任务。这里的任务(Task)与进程(Process)是同义词,在操作系统领域中,任务这个词更为常用,请 ......
内核 任务 系统

一个操作系统的设计与实现——第13章 任务(四):任务回收

在前面的两章中,我们的操作系统均不支持任务回收,所以任务不能退出。本章将要实现的是任务回收功能。 13.1 任务回收的原理 如果一个任务位于任务队列中,其就会被运行。所以,如果一个任务的运行已经结束,它就应该从任务队列中删除。 仅仅将任务从任务队列中删除是不够的,这是因为任务还持有一些内存没有释放, ......
任务 系统

一个操作系统的设计与实现——第11章 任务(二):0特权级任务

上一章中,我们的操作系统已经支持内核共享,这为任务的加载和运行做好了准备。 本章将要实现的是0特权级任务的加载与任务切换。 11.1 任务切换的原理 11.1.1 协同式与抢占式任务切换 如果CPU上只运行着Kernel.c的main函数,那么情况非常简单,只需要不断执行下一条指令即可。然而,如果现 ......
任务 特权 系统

一个操作系统的设计与实现——第12章 任务(三):3特权级任务

特权级是保护模式的核心概念之一,但我们的操作系统一直没有引入这个概念。这是因为,特权级只有在3特权级任务存在时才有意义。本章将要实现的是3特权级任务的加载与任务切换。 12.1 特权级 12.1.1 特权级的功能 特权级(Privilege Level),是保护模式中用于限制任务权限的机制。特权级有 ......
任务 特权 系统

一个操作系统的设计与实现——第1章 什么是操作系统

1.1 引言 什么是操作系统呢? 有些读者可能会像曾经的笔者一样,认为操作系统是"一种图形界面";在学习了Linux操作系统后,认为操作系统也可以是"一种命令行"。而不同种类,不同版本的操作系统,则是"不同的图形界面",或是"不同的命令行语法"。 那么,以Linux操作系统为例,读者是否想过这些问题 ......
系统

一个操作系统的设计与实现——第2章 主引导记录

2.1 BIOS 当按下开机键的那一刻,发生了什么呢? 这是一个百废待兴的时刻,所有的硬件设备都刚启动,并没有做好准备,甚至连CPU自己都是。此时,就需要一些外力帮助CPU工作起来。具体来说,在CPU刚启动时,其CS:IP被硬件电路设定为f000:fff0。这个地址并非指向内存,而是指向主板的一个非 ......
系统

部署自己的在线管理系统

B/S架构的管理系统因其使用和维护的便利性而成为了目前管理系统的主流,但通常都是企业自研或定制开发的系统。那么,对于众多的中小企业或个人,是否能低成本地拥有自己的在线管理系统呢? 答案是可以的。目前有一些支持私有化部署的管理系统,可以由用户自行安装部署到自己的云服务器上,这样就可以随时随地登录操作了 ......
管理系统 系统

TN-rk3399使用swd调试系统.

1.通过阅读一些参数资料,他们都用过转接出micro_sd,通过连接标准的swd信号实现调试的。 https://crwulff.blogspot.com/p/rock64.html http://notes.zahoryzontnik.com/ 包括张银奎老师的GDK8和挥马枪的一些资料,我本人就 ......
系统 TN-rk 3399 swd TN

2023-2024-1 20211306 密码系统设计与实现课程学习笔记9

20211306 密码系统设计与实现课程学习笔记9 任务详情 自学教材第6章,提交学习笔记 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容 “我在学习XXX知识点,请你以苏格拉底的方式对我进行提问,一次一个问题” 核 ......
课程学习 20211306 密码 课程 笔记