《操作系统概念》第三章笔记 1
进程概念进程程序本身不是进程,程序只是一种存储指令的文件,是静态的,相反,进程本身是动态的。进程不是执行的程序,进程不只是程序代码,进程还包括程序计数器,堆栈,数据段等进程本身可以作为一个环境,用于执行其他代码(比如Java的JVM)
进程状态进程在执行时会改变状态,取决于进程的当前活动,状态如下(进程的五态模型)
new :创建进程
running: 执行进程/指令
waiting:进程等待发生事件(比如IO信号),也叫阻塞状态
ready:进程等待分配处理器
terminated:完成执行进程控制块操作系统内的每个进程表示,采用进程控制块(Process Control Block, PCB),也称为任务控制块,它包含了许多与特定进程的相关信息
进程状态:上面的进程五态模型
程序计数器:进程将要执行的下个指令的地址
CPU寄存器:寄存器的数量与类型取决于计算机体系结构,存储了许多进程的信息包括累加器,寄存器,指针等。这些状态使得进程在中断后能够正确的执行
CPU 调度信息:包括进程优先级,调度队列指针等
内存管理信息:
说明信息(accounting information):使 ...
古典密码学1
CTF 中的古典密码学古典密码学在CTF比赛中主要以代替(substitution)密码和置换(permutatuion)密码两种形式出现,出题人有时候也喜欢自己胡诌一些编码方式令人摸不清头脑,下面就是一种非常有代表性的富有脑洞的替换密码。
这是月相密码,由阿根廷艺术家Leandro Katz利用从新月到满月的最具代表性的26个月相所组成。
编码0x01 Base64编码Base64是一种基于64个可打印字符来表示二进制数据的表示方法。26=64,所以每6bit为一个单元,对应某个可打印字符。3字节有24bit,对应4个Base64单元,即3字节任意二进制数据可由4个可打印字符来表示。在Base64中,可打印字符包括字母A~Z、a~z和数字0~9,共62个字符,以及+、/字符。Base64常用于只能处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME电子邮件、XML复杂数据等。
需要注意的是,在Base编码的家族中,Base16就是Hex编码,因此需要16进制转换的时候可以直接调用Python的base64包进行加解密Base100经常以表情包的形式出现,好像还挺常见的样子 ...