数据库系统
模块一:数据库基本概念 四个基本概念 data / 数据:基本对象,描述事物的符号记录 database / 数据库:collection of interrelated data items / 长期储存在计算机内,有组织的、可共享的大量数据集合 database management system / 数据库管理系统:DBMS,位于用户与操作系统之间的数据管理软件。 d...
模块一:数据库基本概念 四个基本概念 data / 数据:基本对象,描述事物的符号记录 database / 数据库:collection of interrelated data items / 长期储存在计算机内,有组织的、可共享的大量数据集合 database management system / 数据库管理系统:DBMS,位于用户与操作系统之间的数据管理软件。 d...
The types, concepts, and tactics of OAs. type 一共有3类质量属性:系统的质量属性、受架构影响的商业属性、与架构本身相关的一些质量属性 重点讨论系统的质量属性:可用性、可修改性、性能、安全性、可测试性和易用性 1. 可用性 Availability 可用性是指软件具备在需要时准备好执行任务的特性。 the ability of a s...
什么是套接字socket socket可以被定义描述为两个应用通信通道的端点。一个 Socket 端点可以用 Socket 地址来描述, Socket 地址结构由 IP 地址,端口和使用协议组成( TCP or UDP )。socket介于应用层和传输层之间。但是socket作为一 种进程通信机制,操作系统分配唯一一个socket号,是依赖于通信协议的,但是这个通信协议不仅仅是 tcp或u...
Stream 流 流可以是文件、socket、pipe等等可以支持io操作的对象。流有两端,两端可以进行读写。如果我们此时读,流另一端没有数据传来,该怎么办。处理的方式的这样几种。 简单的操作是阻塞,读操作将进入阻塞状态等待数据到来。这样实现简单,但是阻塞时线程无法工作,性能太低。阻塞的实现需要依靠缓冲区。缓冲区的引入是为了减少频繁的io操作而引起频繁的Io调用。 另一种操作是非阻塞忙轮...
特殊路由 在Linux中有两张路由表,其中一张负责本地地址,所有查找成功的packet表明要发送到本地主机。
动态规划 分析问题,制定dp方程式; 初始化dp for求解dp 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? dp[i] = dp[i-1] + dp[i-2] 杨辉三角 dp[i][j] = dp[i-1][j-1] + dp[i-1][j] 打家劫舍 你是一个专业的小偷,计划偷窃沿...
1 中断上下文内外死锁问题 2 进程调度问题导致网络IO性能下降 这段代码的作用是检测当前进程是否需要被调度,并在满足条件时进行调度。具体来说: current_pcb_flags().contains(ProcessFlags::NEED_SCHEDULE) :检查当前进程控制块(PCB)的标志是否包含 NEED_SCHEDULE标志,表示当前进程需要被调度。 ...
关键函数: switch_to_user() (粗略版)步骤: 删除当前进程的kthread的标志 读取指定路径下的trap_frame,执行init进程 这里要用try_to_run_init_process进行封装,因为要判断执行进程失败的原因是无法加载初始化程序还是其他 原因 调用do_execve函数执行init程序 执行arch下的用户态切换,先获取trap...
设备驱动注册函数/设备注册函数 device_driver_init() Driver结构体创建;(new()) 平台设备驱动管理注册。(platform_driver_manager().register()) ` device_init()` device实现逻辑 调用设备管理方法信息设备的默认初始化 device_manager().device_default_ini...
创建socket 在DragonOS中,Socket层是为实现各种Socket系统调用而实现的对smoltcpSocket结构体的封装。 用户程序调用sys_socket调用时,会对应调用系统的socket调用,使用参数address_family 、socket_type 、protocol 创建一个Socket,并使用该socket创建一个socket iNode,添加到文件描述符表中...