![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS操作系统
zephyrji96
Master at Shenzhen University.
Research interest: transfer learning, domain adaptation, autonomous vehicle and CV.
2021.3-2021.9 Intern at SenseTime
2020.07-2021.2 Intern at TCL Industrial Technology Research Institute
展开
-
清华大学操作系统OS学习(九)——页面置环算法:最优算法、先进先出算法(FIFO)、最近最久未使用算法(LRU)、 CLOCK法、最不常用算法(LFU) 、工作集置换算法、缺页率置环算法
一、页面置环算法的概念1、页面置环算法的概念①功能:当缺页中断发生时,需要调入新的页面而内存已满时,置环算法选择被置换的物理页面②目标:尽可能减少缺页中断(页面的换入换出)次数。在局部性原理下根据过去的数据统计预测。③页面锁定(frame locking):用于描述必须常驻内存的内存的逻辑页面;操作系统的关键部分,或时间关键的应用进程(time-critical)。需要在页表中添加...原创 2019-06-18 11:05:51 · 2079 阅读 · 0 评论 -
清华大学操作系统OS学习(八)——虚拟存储概念
一、虚拟存储的背景需求1、起因内存越来越不够用,理想中的存储器是更大,更快,更便宜的非易失存储器。2、对系统内存不够用采取的措施:(1) 早期,微软的DOS,内存仅640K,程序大—–手动覆盖(overlay),把需要的指令和数据保存在内存中(2) 程序多,自动交换(swapping),暂时不能执行的程序送到外存,代价大(3) 以页单位在有限的内存中自动装入更多更大的程序...原创 2019-06-17 22:05:47 · 261 阅读 · 0 评论 -
清华大学操作系统OS学习(五)——物理内存管理:非连续内存分配
非连续内存分配分配给一个程序的物理地址空间是非连续的。优点:更好的内存利用和管理、允许共享代码与数据、支持动态加载和动态链接。缺点:带来额外的管理开销:如何建立虚拟地址和物理地址之间的转换。两种实现:软件方案和硬件方案。两种硬件方案:分段、分页。一、段式存储管理段表示访问方式和存储数据等属性相同的一段地址空间。1、分段机制:程序的分段地址空间设计,寻址方案。把...原创 2019-06-17 15:56:29 · 343 阅读 · 0 评论 -
清华大学操作系统OS学习(七)——进程控制
一、进程切换1、进程切换(上下文切换)①切换时刻:暂停当前运行进程,从运行状态变成其他状态;调度另一个进程从就绪状态变成运行状态②进程切换的要求:Ⅰ.切换前保存进程上下文;Ⅱ.切换后,恢复进程上下文;Ⅲ.快速切换;Ⅳ.保存进程生命周期信息(如寄存器[PC,SP....]、CPU状态、内存地址空间)③上下文切换图示④进程控制块PCB:内存的进程状态记录内核为每个进程维护...原创 2019-06-17 15:52:55 · 548 阅读 · 0 评论 -
清华大学操作系统OS学习(六)——进程和线程
一、进程的概念1、进程定义OS系统从只能跑一个程序到能跑多个。进程可以描述程序的执行过程。进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。只有当一个程序被OS加载到内存中,cpu对其执行时,这个过程是动态的,称为进程。2、进程的组成包含了正在运行的一个程序的所有状态信息 、程序的代码 、程序处理的数据要知道现在执行哪条指令,程序计数器中的值指示将运行...原创 2019-06-17 10:59:19 · 275 阅读 · 0 评论 -
清华大学操作系统OS学习(四)——物理内存管理:连续内存分配
一、计算机体系结构和内存层次1、计算机体系结构①基本硬件结构: CPU(程序执行处)、内存(放置了代码和处理的数据),设备(I/O)②内存的层次结构: CPU的ALU(算术逻辑单元)、MMU(内存管理单元)、寄存器和cache都在CPU内部,速度快容量小,主存(物理内存)放操作系统本身和应用,通过交换/分页和磁盘交互,将永久保存的数据放到磁盘中(虚拟内存),慢而容量大,5ms寻道时间。...原创 2019-06-16 21:07:14 · 260 阅读 · 0 评论 -
清华大学操作系统OS学习(三)——启动、中断、异常和系统调用
一、BIOS:基本I/O处理系统Bootloader:加载OS操作系统一开始是放在DISK(硬盘)中,并不是放在内存中。BIOS:基本I/O处理系统。内存中有一部分空间(固定的)是用来存放BIOS的。以X86为例:1.X86PC开机时,CPU处于实模式,这时候内存的计算方式是 段基址 <<4 + 段内偏移;2.CPU的第一条指令是通过CS:IP(CS:段寄存...原创 2019-06-16 21:05:36 · 491 阅读 · 0 评论 -
清华大学操作系统OS学习(二)——OS基本概念
OS基本概念操作系统是控制软件,管理应用程序,为应用程序提供服务,杀死应用程序,分配资源,管理外设抽象:CPU - 进程,内存 - 地址空间,磁盘 - 文件OS位于硬件层之上,软件应用层之下,是个中间层的系统软件。OS分为Shell(界面)和Kernel(内核)并发(concurrent,交替运行) vs 并行(parallel,同时运行)注意:区分并发和并行。 //并发指...原创 2019-06-16 21:00:21 · 405 阅读 · 0 评论 -
清华大学操作系统OS学习(一)——OS相关信息
清华大学——操作系统OS(向勇、陈渝)http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X+sp/about在ucore实验中,一些基本的常用工具如下:命令行shell: bash shell -- 有对文件和目录操作的各种命令,如ls、cd、rm、pwd...系统维护工具:apt、gitapt:安装管...原创 2019-06-16 20:58:46 · 1139 阅读 · 0 评论 -
清华大学操作系统OS学习(十五)——I/O子操作系统、同步或异步I/O、I/O结构、I/O结构
一、I/O特点1、常见设备接口类型①、字符设备(键盘、鼠标、串口等):以字节位单位顺序访问,get()和put()等②、块设备(磁盘驱动器、光驱等):均匀的数据块访问,原始IO或文件系统接口,内存映射文件系统接口③、网络设备(以太网、无线、蓝牙):格式化报文交换,send/receive网络报文,通过网络接口支持多种网络协议2、同步或异步IO①、阻塞IO:”Wait“读...原创 2019-06-20 08:28:22 · 550 阅读 · 0 评论 -
清华大学操作系统OS学习(十四)——文件系统和文件描述符
一、文件系统和文件1、文件系统①、文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能。②、文件具有符号名,由字节序列构成的数据项集合。符号名是文件系统的基本数据单位,文件名是文件的标识符号。2、文件系统的功能①、分配文件磁盘空间:管理文件块(位置和顺序)、管理空闲空间(位置)、分配算法(策略)②、管理文件集合:Ⅰ、定位(文件及其内容);Ⅱ、命名(通过名字找到...原创 2019-06-19 22:51:54 · 700 阅读 · 0 评论 -
清华大学操作系统OS学习(十三)——死锁、进程通信、信号、管道、消息队列和共享内存
一、死锁概念①死锁:一组阻塞的进程(两个或多个),持有一种资源,等待获取另一个进程所占有的资源,而导致谁都无法执行。②可重复使用的资源:在一个时间只能一个进程使用,且不能被删除。OS避免杀死拥有资源的进程;进程使用资源后要释放,让其他进程重用;有物理资源(cpu, I/O通道,主和副存储器),也有抽象的资源(设备和数据结构,如文件,数据库和信号量);如果每个进程拥有一个资源并请求其他...原创 2019-06-19 16:53:56 · 353 阅读 · 0 评论 -
操作系统-管程、进程和线程之间的差别
概念进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。线程:线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从...转载 2019-06-19 09:42:14 · 823 阅读 · 0 评论 -
清华大学操作系统OS学习(十二)——信号量与管程
一、信号量1、信号量(semaphore):是操作系统提供的一种协调共享资源访问的方法①信号是一种抽象数据结构一个整型int(sem),可进行两个原子操作P() sem–,如果sem<0,等待,否则继续,类似lock_acquireV() sem++,如果sem<=0,说明当前有等着的,唤醒挂在信号量上的进程,可以是一个,可以是多个②信号量的特性信号...原创 2019-06-18 23:00:19 · 323 阅读 · 0 评论 -
清华大学操作系统OS学习(十)——处理机调度
一、处理机调度概念1、进程切换(上下文切换):切换CPU的当前任务,从一个进程/线程到另一个,保存当前在PCB/TCB中的执行上下文,读取下一个的上下文2、CPU调度:从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个线程/进程3、调度程序:挑选进程/线程的内核函数(通过一切调度策略)使得效率最高,满足用户需求4、在进程/线程的生命周期中的什么时候进行调度?从一个状态变为...原创 2019-06-18 16:51:15 · 349 阅读 · 0 评论