上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 实模式 什么是实模式 实模式,又叫实地址模式,实际上,实模式概念是在保护模式推出之后为了区别保护模式之前的8086CPU工作模式才有的,在8086时代CPU工作模式只有一种,自然没有实模式之说。 实模式的“实”体现在程序中用到的地址都是真实的物理地址,“段基址:段内偏移地址”产生的逻辑地址就是物理地 阅读全文
posted @ 2023-01-12 15:16 stu--wy 阅读(127) 评论(0) 推荐(0)
摘要: 结构设计思想:前端界面和后端数据库通过一个中间件操作。 中间件就像一个中间助手,每一个前端界面通过一个具象的中间助手进行操作。 最大的设计错误:中间件不是一个具象的实体,而是一个抽象的组件。(static的用法) 多人协作代码,难度很大,需要规范和接口,每个文件的更新,都需要重新修正管理。 熟悉了数 阅读全文
posted @ 2023-01-11 09:53 stu--wy 阅读(26) 评论(0) 推荐(0)
摘要: 并发与并行: 并发指的是快速切换 并行是真正意义上的同时运行 任何代码块,只要在它运行的时候提供它所依赖的上下文环境,这个上下文环境就是它所使用的寄存器映像,栈,内存等资源就可以成为执行流。线程就是运行函数的一段载体。线程没有自己独享的地址空间,线程必须“活”在进程的世界里。 进程是指正在运行的程序 阅读全文
posted @ 2023-01-03 14:36 stu--wy 阅读(23) 评论(0) 推荐(0)
摘要: 多进程图像: 多进程图像从启动开始到关机结束。 操作系统要让用户使用计算机,创建了第一个进程shell。 每个进程有自己的ID。 操作系统如何组织进程? PCB (process control block):记录进程信息的数据结构。 如何组织:就是在PCB结构之上形成一些数据结构。如就绪队列,阻塞 阅读全文
posted @ 2023-01-03 11:45 stu--wy 阅读(33) 评论(0) 推荐(0)
摘要: 内核级线程是多核CPU充分发挥作用的关键,是并行的关键。 用户级线程切换是内核级线程切换的一部分。用户级线程和内核级线程的实现有很多相似之处。 内核级线程的核心就是****两套栈****。 内核级线程的切换:从用户出发,中断到内核,通过schedule()调度和函数返回技巧完成PCB的切换,再通过i 阅读全文
posted @ 2023-01-03 11:44 stu--wy 阅读(54) 评论(0) 推荐(0)
摘要: 线程切换:不切换映射关系,不切换资源,只切换执行的指令顺序。线程保留了并发的优点,避免了进程切换的代价。 进程切换:指令切换+资源切换(映射表的切换)线程切换:指令切换,不切换资源 例如一个网页浏览器可以:用一个线程用来接收数据,一个线程来显示文本,一个线程用来处理图片,一个线程用来显示图像。这些线 阅读全文
posted @ 2023-01-02 21:10 stu--wy 阅读(51) 评论(0) 推荐(0)
摘要: https://kiprey.github.io/2020/08/uCore-1/ 学堂在线清华大学的Ucore实验指导书以及在线视频 https://learningos.github.io/ucore_os_webdocs/lab1/lab1_2_1_exercise.html 第一点是一个博客 阅读全文
posted @ 2023-01-02 10:07 stu--wy 阅读(14) 评论(0) 推荐(0)
摘要: 启动链接器 装载所有需要装载的对象 重定位和初始化 动态链接器的自举: 动态链接器本身也是一个共享对象。动态链接器的特殊性在于它不可以依赖其他共享对象,它所依赖的全局和静态变量的重定位的工作由自己完成。当操作系统将控制权交给动态链接器,它就开始了自举的过程。 装载共享对象: 完成基本自举以后,动态链 阅读全文
posted @ 2022-12-28 10:01 stu--wy 阅读(92) 评论(0) 推荐(0)
摘要: 动态链接确实有很多优势,比静态链接要灵活的多,但是它是以牺牲一部分性能为代价的。 性能优化: 延迟绑定(PLT):当函数第一次调用时,才进行绑定(符号查找,重定位等)。 当我们调用某个外部模块的函数时,如果按照通常的做法应该是通过GOT中的相应的项进行间接跳转。PLT为了实现延迟绑定,在这个过程中间 阅读全文
posted @ 2022-12-28 10:01 stu--wy 阅读(149) 评论(0) 推荐(0)
摘要: 可以想象,动态链接模块被装载映射至虚拟空间后,指令部分是在多个进程之间共享的,由于装载时重定位的方法需要修改指令,所以没有办法做到同一份指令被多个进程共享,因为指令被重定位后对于每个进程来讲是不同的。当然,动态连接库中的可修改数据部分对干不同的讲程来说有多个副本,所以它们可以采用装载时重定位的方法来 阅读全文
posted @ 2022-12-23 10:56 stu--wy 阅读(64) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页