OS&计网&数据库笔记
文章平均质量分 68
操作系统学习笔记、计算机网络学习笔记、数据库学习笔记
纳兰小熊
Notes do not lie!
展开
-
MySQL笔记--SQL函数和约束
约束是作用于表中字段上的规则,用于限制存储在表中的数据,其目的是保证数据库中数据的正确、有效性和完整性;在添加外键时设置相应的行为,可以确保两个关联表之间数据的删除和更新;通过添加外键可以关联两个表格;1-1--字符串函数。原创 2023-11-06 22:11:50 · 105 阅读 · 0 评论 -
MySQL笔记--Ubuntu安装MySQL并基于C++测试API
编译时需要加上 -lmysqlclient 依赖;1--安装MySQL。1--安装MySQL。2--MySQL连接。原创 2023-11-01 21:34:28 · 747 阅读 · 0 评论 -
MySQL笔记--SQL语句
MySQL中数据类型包括三类:数值类型、字符串类型和日期时间类型;字符串类型:char 的性能会比 varchar 的性能要好。数值类型:通过增加 unsigned 来指明使用无符号;聚合函数用于将数据作为整体,进行纵向计算;1--SQL的通用语法。2--SQL语句的分类。3-1--数据库操作。3-4--修改和删除。原创 2023-10-30 15:54:11 · 118 阅读 · 0 评论 -
MySQL笔记--Win11下启动和连接MySQL
1--启动和停止MySQL。1--启动和停止MySQL。3--MySQL基本概念。2--连接MySQL。原创 2023-10-30 15:19:00 · 727 阅读 · 0 评论 -
计网笔记--运输层(vital)
第三次握手可以防止已失效的连接请求报文段突然传送到 TCP 服务器,导致 TCP 服务器处于数据接收阶段的错误;TCP 协议规定,当接收方的接收窗口调整为 0 时,发送方的发送窗口会被调控为 0,同时发送方会启动。拥塞避免算法发生在门限 ssthresh 后,拥塞窗口(发送方的发送窗口)每次。时(快重传),TCP协议会将门限 ssthresh 更新为当前拥塞窗口的一半,同时。,UDP 和 TCP 在协议字段上不同,即 UDP 的协议字段是。,探测接收方最新的接收窗口,并相应地调控发送方自己的发送窗口;原创 2023-07-12 15:26:52 · 875 阅读 · 0 评论 -
计网笔记--应用层
例如使用 ping 去 ping www.baidu.com 时,需要通过域名系统将 www.baidu.com 转换为 IP 地址,因此实质上 ping 的是 IP 地址;通过给路由器配置 DHCP 服务器的 IP 地址,可以使该路由器成为 DHCP 的中继代理,这样就无需在每个网络中都设置 DHCP 服务器;默认情况下,FTP使用 TCP 21 端口进行控制连接,使用 TCP 20 端口进行数据连接;,用于存放最近查询的域名及其 ip 地址,这样就无需每次都重新查询相应的域名;域名服务器一般采用了。原创 2023-07-15 14:29:26 · 496 阅读 · 0 评论 -
计网笔记--网络层
路由选择协议可以划分为:内部网关协议IGP(路由信息协议 RIP 和开放最短路径优先协议 OSPF),外部网关协议EGP(边界网关协议BGP);”的问题,因为 RIP 协议通常进行周期性的路由交换,当故障信息不能及时交换到其它路由时,故障路由可能会被之前的路由所覆盖,导致故障路由不能及时更新和传播;IPv4 地址是因特网上的每一台主机(或路由器)的每一个接口在全世界范围内的一个唯一 32 比特的标识符;分类编制的 IPv4 地址可分为A类地址、B类地址、C类地址、D类地址和E类地址;原创 2023-07-05 18:59:20 · 1391 阅读 · 0 评论 -
计网笔记--数据链路层
④ 判断一个站是否发送数据,或者发送的是比特 1 还是比特 0,只需将收到的码片序列与各个站的码片序列进行内积运算,结果为 1 表明该站发送了比特 1,结果为 -1 表明该站发送了比特 0,结果为 0 表明该站未发送数据;发送方未收到对应数据的 ACK 确认信号,会在超时重传再次发送该数据,并不会发送滑动窗口内的所有数据(因为有些数据已经收到了 ACK 确认信号,只发送滑动窗口内未收到 ACK 确认信号的数据)巨大的广播域会带来广播风暴等问题,使用路由器(网络层)可以隔离广播域,但路由器的成本高;原创 2023-06-20 10:15:48 · 851 阅读 · 0 评论 -
计网笔记--物理层的传输
基本调频方法一个码元只能表示一个比特信息,使用混合调制可以将一个码元表示多个比特信息;串行传输、并行传输;同步传输、异步传输;单工、半双工和全双工;基带信号通过编码,形成数字信号,可以在数字信道传输;基带信号通过调制,形成模拟信号,可以在模拟信道传输;传输媒体:导引型传输媒体和非导引型传输媒体;常用编码:不归零编码、归零编码、基本调制方法:调幅、调频、调相;、差分曼彻斯特编码;4--信道的极限容量。原创 2023-06-20 09:54:15 · 239 阅读 · 0 评论 -
计网笔记--计算机网络基本概念
信道利用率增大,表明当前通过信道的数据量增大,增大的数据量会导致信道中某些节点(例如路由器/交换机等)阻塞,导致数据需要在这些阻塞的节点进行排队等候处理,从而增加了信道的时延;IP协议将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务;TCP协议在享受IP协议提供的网络互连服务的基础上,向应用层的相应协议提供。TCP协议在享受IP协议提供的网络互连服务的基础上,向应用层的相应协议提供。计算机网络的定义:计算机网络由通用的、可编程的硬件互联而形成;5-1--常用的计算机网络体系结构。原创 2023-06-08 15:22:08 · 165 阅读 · 0 评论 -
操作系统笔记--信号量、管程与同步
管程可抽象为由一个锁和 0 个或多个条件变量构成的结构,锁用于指定临界区(每次只允许一个线程进入管程管理的区域),条件变量用于控制线程的等待和唤醒;信号量可用于实现线程间的互斥与同步,其抽象数据类型包括:一个整型数据(Sem)和两个原子操作(P() 和 V());V() 操作:将 Sem 加1,如果 Sem原创 2023-05-17 14:08:47 · 409 阅读 · 0 评论 -
操作系统笔记--原子操作、临界区、互斥、死锁等概念
② 该操作根本未被执行,且未发现任何部分执行的状态;临界区(Critical section)是指进程中的一段代码区域,其对应于进程需要访问共享资源,而另一个进程也处于相应的代码区域时,这段代码区域不会被另一个进程执行;③ 有限等待:一个线程处于临界区入口时,在该线程的请求被接受之前,其他线程进入临界区的时间有限制;饥饿(Starvation)是指一个可执行的进程,被调度器持续忽略,导致其虽处于可执行状态但一直未被执行;中断被禁用,线程就无法被停止,同时整个系统的线程都会停下,其他线程可能会处于饥饿状态;原创 2023-05-10 16:57:35 · 2065 阅读 · 0 评论 -
操作系统笔记--CPU调度
有三个线程即Thread A (高优先级)、Thread B(中优先级)、Thread C(低优先级),线程A的执行需要获取线程C的资源,此时线程A会因为线程C而阻塞,指导资源得到满足;然而在线程C执行时,由于线程B的优先级高于线程C,所以线程B会抢占CPU,导致线程C无法顺利执行;短进程优先可以分为抢占式和非抢占式,抢占式的算法会在每一个 CPU 时间片后进行判断,当前进程的剩余执行时间与新进程执行时间的长短,如果新进程的执行时间更短,可能会抢占 CPU 执行新的进程;原创 2023-05-06 13:00:35 · 1078 阅读 · 0 评论 -
操作系统笔记--进程与线程
④ 进程与程序的组成不同,进程的组成包括程序、数据和进程控制块(Process Control Block,即 PCB 用于描述进程的数据结构,操作系统为每个进程都维护了一个PCB,用于保存与该进程有关的各种状态信息);进程需要的数据没有到达时,进程会进入等待状态;而exit()函数由子进程调用,用于子进程的结束,此时会返回一个信号给父进程,让父进程知晓子进程结束并帮助子进程回收相应的进程资源;folk(): 进程可以通过调用 folk() 函数来创建新的进程,调用进程称为父进程,创建的新进程称为子进程;原创 2023-05-05 15:40:30 · 964 阅读 · 0 评论 -
操作系统笔记--页面置换算法
当一个页面被访问时,该页面的访问计数器会加1;缺页率页面置换算法的工作集窗口是变化的,当缺页率增加时会增大工作集窗口,将更多的页面保留在内存中(更多的页面在窗口内,则页面不会被换出);Clock 页面置换算法是 LRU 算法的近似,也是对 FIFO 算法的改进,其需要使用页表项当中的访问位,当一个页面被装入内存时将访问位初始化为0,当页面被访问(读/写)时将访问位置为1;当一个缺页中断发生时,对于保存在内存当中的每一个逻辑页面,计算其下一次被访问的时间,选择时间最长的页面作为置换页面;原创 2023-04-24 19:24:40 · 886 阅读 · 0 评论 -
操作系统笔记--虚拟内存的使用
程序 1 将按一列一列的形式进行访问,但由于C语言的数组在实际存储中是按行进行存储的,所以程序 1 这种访问方式在访问每一个数据时,操作系统都会把整行(页)的数据加载到内存中,导致内存负担的加重;虚存技术兼顾覆盖技术和交换技术的特点,即虚存技术不把程序的所有内容都放在内存中,同时虚存技术可以实现进程的部分内容在内存和外存之间进行交换,这一过程由操作系统自动完成,无需程序员的干涉;空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近访问的几个数据都集中在一个较小的区域内;2--覆盖和交换技术的缺陷。原创 2023-04-20 21:46:46 · 463 阅读 · 0 评论 -
操作系统笔记--非连续内存分配的分段、分页和页表
反向页表不依据进程的逻辑页号来生成页表,而是依据进程在内存的物理页号;例如二级页表,首先寻址一级列表找到对应二级页表的入口地址,当一级页表的某一页表项为空时(因为并不是所有内存都被使用),其对应的二级页表不存在,从而节省了二级页表的内存花销;反向页表:以帧号(f)作为 key,页号(p)作为 value,通过物理地址映射逻辑地址避免页表内存花销大的问题;分段和分页的不同在于:分段管理中每一个段的长度是不确定的(长度可变),而在分页管理中每一个页的长度是确定的(长度不可变);原创 2023-04-05 17:01:55 · 532 阅读 · 0 评论 -
操作系统笔记--连续内存分配的内存碎片问题
内存碎片分为外部碎片和内部碎片,外部碎片表示在分配单元之间未被使用的内存;最优适配:为了分配 n 个字节的内存空间,操作系统分配一个最优的可用空闲块(空闲空间与待分配空间的差值最小);最差适配:为了分配 n 个字节的内存空间,操作系统分配一个最大的可用空闲块(空闲空间与待分配空间的差值最大);为了减少内存碎片,操作系统在分配连续内存空间时,会使用动态分配策略,即首次适配、最优适配和最差适配;首次分配:为了分配 n 个字节的内存空间,操作系统分配第一个可用空闲块(空间大于 n 个字节);原创 2023-04-05 14:24:20 · 1068 阅读 · 0 评论 -
操作系统笔记--系统调用、异常和中断的基本概念
进程的地址空间被分为用户空间和内核空间,分别存放用户和内核的数据内容;CPU 有不同的特权级,处于用户态时无法访问内核态的数据内容,从而起到对内核态的保护作用;遇到特殊情况时(如中断、异常和系统调用),就会切换至内核态,从而能够访问内核态的数据内容;对于系统调用、异常和中断三种情况,操作系统采取统一的处理方式:暂停用户进程、提升cpu的特权级(从用户态提升为内核态)、从寄存器取出处理函数的地址,将pc寄存器指向该地址执行;用户态和内核态的本质是:处于不同的状态下能够访问的数据内容不同;原创 2023-03-31 20:48:48 · 538 阅读 · 0 评论 -
操作系统学习笔记--并发多线程
输出上述数值的原因,在于当两个线程同时并发进行时,由于原子性导致线程不可被中断,而当前的余额为 100,满足 if 的判断条件,两个线程都可以进入到 if 循环体中进行完整执行,从而导致两次扣款和余额溢出;上述代码实现了一个简易的支付系统,balance 表示当前的余额,当两个线程同时发起支付请求时,将会导致余额溢出,从而导致余额的异常!通过代码实例展示不同线程间可以共享内存:以下代码定义了一个全局变量x,不同线程可以共享同一个全局变量x;通过代码展示不同线程间具有独立的堆栈,并打印其堆栈大小;原创 2023-03-22 16:52:25 · 253 阅读 · 0 评论