BUAADreamer's Blog

work hard to persue a happy life

OS理论课笔记-IO/磁盘管理/文件系统/安全/分布式OS

第五章 输入输出系统· 5.1 I/O硬件基本原理· I/O设备分类· 传输速度:低速中速高速 信息交换单位:块设备和字符设备 共享属性:独占设备,共享设备,虚拟设备 5.2 I/O软件基本原理· I/O控制技术· 程序控制I/O(PIO,Programmed I/O)· 轮询或查询方式IO CPU代进程向IO模块发出指令,之后忙等,直到操作完成进程继续执行 中断驱动方式(Interrupt......

OS理论课笔记-系统引导/内存管理/进程与并发程序设计

第1章 引论· 操作系统是一个程序,是一组管理计算机硬件资源的软件集合,向计算机程序提供共性服务。 控制计算机资源; 给用户提供接口或虚拟机。 OS的历史沿革· 批处理:用户提交作业成批送入计算机,由作业调度程序自动选择作业运行。涉及到Mainframe基本功能,排队论、统筹学。 批处理系统,分为联机批处理系统(作业的输入/输出由CPU来处理)和脱机批处理系统(输入/输出脱离主机控制......

OO-Unit3-总结

OO第三单元JML规格设计学习总结与分析 OO-Unit3-总结· 1.JML规格设计策略· 由于JML的规格描述较复杂,本单元的JML规格设计我往往采用由简入难的迭代开发策略。 即一开始不着急开发出最为复杂,性能最好的代码,先严格按照JML描述写一遍代码,实现基本功能。比如类似public instance model non_null Person[] acquaintance;这样的规......

OO-Unit2-总结

OO第二单元电梯调度总结与分析。 OO-Unit2-总结· 一、程序结构分析· 第五次作业· 代码可视化与数据统计· 程序类图· 由于本次只有一台电梯,因此没有使用调度器,而是只设计了一个策略类Scheduler类来实现每到一个楼层根据当前等待的乘客和电梯中的乘客请求来确定目标楼层的功能。而电梯类和输入线程类则是本次作业的两个线程类,分别对应消费者和生产者。 程序复杂度分析· 类复杂度 ......

C++面向对象

C++的部分知识复习,为了准备考试 C++· C++面向对象· 1.类&对象· 基本操作· 12345678910111213141516171819202122232425262728293031323334353637383940414243#include<iostream>#类定义class People { //范围修饰符: 开头定义变量与函数......
C++

OS-C语言基础

近期操作系统课上测试因为C语言的薄弱基础接连受到暴击,笔者痛下决心一定要开始一篇C语言基础总结的博客,时间有限,本次先将OS两次课上的坑总结一下,以后再补充其他的。 数据类型与移位运算· unsigned int 是无符号整数 int有符号整数 对上述两者赋值时,都是将右边的数字的补码存入相应地址中。 比如:int a = -1;unsigned a = -1;其实这两个a存的变量内容一样......

OO-Unit1-总结

2021年北航OO课程的第一单元—表达式求导作业项目总结。 本单元中,有过因为疏忽大意出现重大错误导致被hack惨的痛苦经历,也有未被hack成功的喜悦体验,下面就来对这一单元的内容做一下梳理和回顾。 OO-Unit1-总结· 一、程序结构分析· 第一次作业· 代码可视化与数据统计· 程序类图· 可以看出,本次作业Item类中含有两个多余的方法,而整体架构上并没有严格遵循高内聚低耦合的原......

OS-Lab0笔记

OS课程Lab0学习笔记 基础操作· 命令行· 命令格式:命令名 [选项] [参数] Linux命令在系统中有两种类型:内置Shell(外壳)命令和Linux命令 1rm -rf #删除所有文件 OS常用命令· 12find ./ test.md #查找文件grep -r printf ./ #查找函数变量。。 vim常用命令· 撤销重做:u Ctrl+r 复制粘贴:y p 剪切:d......

OO-评测机搭建学习

关于OO作业评测机搭建的探索 将java项目打包成jar文件并运行· 在IDEA中打包· File->project structure 在弹窗最左侧选中 Artifacts->"+" ,选 jar,选择 from modules with dependencies 此处需要注意两点: 需要选择jar包默认运行的入口类 需要设置MANIFEST.MF的位置......

OO-Pre-学习笔记

2021年OO的Pre部分学习笔记 工具· gitlab维护代码· Command line instructions· Git global setup· 12git config --global user.name "冯张驰"git config --global user.email "19373573@buaa.edu.cn" Create a new repository· 1......