上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 一次具体的网络收发过程: 发送过程: 应用程序准备好数据,调用用户态下的库函数,调用系统API接口函数,进入到内核态;内核态对应的系统服务函数会复制应用程序的数据到内核的内存空间中,然后将数据移交给网络协议栈,在网络协议栈中将数据层层打包;最后,包装好的数据会交给网卡驱动,网卡驱动程序负责将打包好的 阅读全文
posted @ 2023-05-03 15:58 QianFa01 阅读(85) 评论(0) 推荐(0)
摘要: 输入URL,从一个请求到响应都发生了什么事? 常规网络交互过程:1、从客户端发起网络请求,用户态的应用程序会生成HTTP请求报文,并通过DNS协议查找到对应的远端 IP地址;2、在套接字生成以后进入内核态,游览器会委托操作系统内核协议栈中的上半部分,即TCP/UDP协议发起连接请求;3、然后由协议栈 阅读全文
posted @ 2023-05-03 13:44 QianFa01 阅读(90) 评论(0) 推荐(0)
摘要: 文件的六大基本操作:新建、打开、关闭、读写、删除文件; 辅助操作: 操作根目录文件: 操作文件,先要找到与该文件对应的 rfsdir_t 结构; get_rootdirfile_blk 函数:获取根目录文件,先调用get_rootdir 函数 获取根目录的 rfsdir_t 结构,到一个缓冲区中;d 阅读全文
posted @ 2023-05-02 16:11 QianFa01 阅读(84) 评论(0) 推荐(0)
摘要: 文件系统设备: 使用4MB内存空间模拟真实的储存设备,rfsdevext_t 结构表示,保存了内存空间的地址和大小; new_rfsdevext_mmblk 函数分配了一个内存空间,初始化了一个 rfsdevext_t 结构实例化变量;该结构的地址放在了device_t 结构的 dev_extdat 阅读全文
posted @ 2023-05-01 21:26 QianFa01 阅读(145) 评论(0) 推荐(0)
摘要: 文件系统: 把许多文件存储在某一种储存设备上;方便对各种文件执行打开关闭、读写等操作;FAT32、NTFS、Ext4、Btrfs、ZFS、HPFS 等,这些都是不同的文件系统建立的文件系统格式,甚至一个硬盘上不同分区储存格式也不相同;所以让文件系统成为内核的一部分很不现实; 两点设想:文件系统组件是 阅读全文
posted @ 2023-04-30 22:15 QianFa01 阅读(66) 评论(0) 推荐(0)
摘要: I/O包: 内核要求设备完成的任务,需要调用驱动程序,传参给驱动;操作所需的参数数量大,需要 I/O 包 统一管理; objnode_t 结构:objnode_t 结构包含了各个驱动程序功能函数的所有参数; 创建和删除 I/O 包: 内存管理组件分配释放objnode_t结构;krlnew_objn 阅读全文
posted @ 2023-04-30 18:45 QianFa01 阅读(35) 评论(0) 推荐(0)
摘要: cosmos为简化驱动的设计,把程序和内核链接到一起,省略了加载驱动的过程,cosmos自动加载驱动,在驱动中注册相应的设备; 流程:内核初始化驱动,内核扫描驱动表,加载一个驱动,创建driver_t 结构,调用驱动入口函数,驱动开始运行,创建device_t 结构,向内核注册设备,查看是否还有驱动 阅读全文
posted @ 2023-04-30 17:23 QianFa01 阅读(62) 评论(0) 推荐(0)
摘要: 设备分类: 例如网络设备、触控设备等,在krldevice_t.h文件中; 设备驱动: 设备: device_t 结构代表一个设备类型,其中devid_t 结构代表设备id结构,包含设备类型、设备号、子设备号等; 驱动: driver_t 结构代表一个驱动程序,包含驱动名、驱动程序id、驱动程序管理 阅读全文
posted @ 2023-04-29 21:15 QianFa01 阅读(122) 评论(0) 推荐(0)
摘要: 进程的等待结构: kwlst_t 结构用于挂载等待的进程;经常被包含在信号量等结构,是用于保护访问受限的贡献资源; 进程等待: krlsched_wait 函数:获取当前正在运行的进程,设置进程状态为等待状态,执行脱链操作,并将进程加入等待结构; 进程唤醒: krlsched_up 函数:从等待数据 阅读全文
posted @ 2023-04-29 16:02 QianFa01 阅读(118) 评论(0) 推荐(0)
摘要: 进程调度的原因: 一是CPU同一时刻只能运行一个进程,并且CPU 的个数总是少于进程个数,就需要让进程共用一个CPU;二是当一个进程拿不到资源时就应该让出CPU,否则会一直霸占CPU; 1、管理进程: 进程的生命周期: 进程的状态:运行、睡眠、等待、新建、僵死; 组织进程: 设计思想:链表数据结构, 阅读全文
posted @ 2023-04-29 13:13 QianFa01 阅读(43) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页