文件管理 5.1 文件系统概述 5.1.1 文件的概念 文件概念 文件是具有符号名的,在逻辑上具有完整意义的一组相关信息项的序列 文件的命名:. 文件名用于设别文件,扩展名用于识别文件特性 引入文件的优点 用户使用方便:实现了==按名存取==,知道文件名就可存取信息。 文件安全可靠:通过文件系统实现对文件的访问 文件可备份:文件可以组织转储或备份 文件可共享:文件可共享,提高 2023-02-13 nju-course-review #OS
存储管理 3.1 存储管理基础 3.1.1 存储管理主要模式 ==逻辑地址==:相对地址,即用户程序所使用的地址空间。从0开始编号,有两种形式:一维逻辑地址(地址);二维逻辑地址(段号:段内地址) 段式程序设计:把一个程序设计成多个段:代码段、数据端、堆栈段等 用户可以自己应用 段覆盖技术 扩充内存空间使用量 ==物理地址==:绝对地址,即程序执行所使用的地址空间,处理器执行指令时按照物理 2023-02-13 nju-course-review #OS
设备管理 4.1 设备管理基础 4.1.1 设备管理概述 I/O设备:输入输出设备、外围设备、外部设备、外设。用于计算机系统与外部世界的信息交换或存储。 I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件 I/O操作:内存和外设间的信息传送操作。 影响计算机系统的通用性和可扩充性 影响计算机系统的综合处理能力及性价比 I/O设备分类 信息传输视角 输入设备:键 2023-02-12 nju-course-review #OS
Java集合类 集合中的fail-fast fail-fast其实是一种设计思想,即在程序出现错误时不再继续向下执行,而是抛出异常退出。 12345for (String name : names) { if (...) { names.remove(name); }} 上面这段代码就会触发fail-fast错误,抛出异常Concur 2023-02-10 Java #Java
并发程序设计 6.1 并发进程 6.1.1 并发程序设计的概念 顺序程序设计 程序执行的内部顺序性:程序在处理器上的执行是严格有序的 程序执行的外部顺序性:将具体问题的求解过程设计为一个程序或者严格顺序执行的程序序列 顺序程序设计特性 程序执行的顺序性 计算环境的封闭性:独占资源 计算结果的确定性 计算过程的可再见性 进程的并发执行 多道程序设计允许多个程序同时进入内存 2023-02-10 nju-course-review #OS
Lab7 networking 1 背景要求 使用一个网络设备E1000来处理网络通信。 在模拟的LAN下,xv6的IP地址为10.0.2.15,主机的IP地址为10.0.2.2 当xv6使用E1000发生一个报文到10.0.2.2,qemu会将该报文传递给真实主机的正确应用 要使用QEMU的user-mode network stack 所有的来往packets都记录在packets.pcap文件中 kerne 2023-02-02 6.S081-labs #6.S081
Lab5 Copy-on-Write COW机制介绍 COW的机制其实非常简单,核心思想还是将内存的分配推迟:在fork()的时候只是将子进程的虚拟页映射到父进程的物理内存上;当之后发生了实际的写内存操作引发page fault后,再进行实际的内存分配。 COW实现 尽管COW的机制非常简单,实现起来也看似简单,但是非常易错,且调试难度也比较大(多核并发) 具体代码见:cow lab 实现过程基本上参考手册的那几步就 2023-01-31 6.S081-labs #6.S081
高性能Go语言发行版优化与落地实践 性能优化 概述 什么是性能优化:提升软件系统处理能力,减少不必要的消耗,充分发掘计算机算力 为什么要做性能优化 用户体验:带来用户体验的提升 资源高效利用:降低成本,提高效率 性能优化的层面 性能优化的可维护性 保证接口稳定的前提下改进具体实现 测试用例:覆盖尽可能多的场景,方便回归 文档:做了什么,没做什么,能达到怎样的效果 隔离:通过选项控制是否开 2023-01-19 Go #Go
Go高质量编程与性能调优 高质量编程 高质量编程简介 编写的代码能够达到正确可靠、简介清晰的目标可称之为高质量代码 各种边界条件是否考虑完备 异常情况处理、稳定性保证 易读易维护 编程原则 简单性 消除“多余的复杂性”,以简单清晰的逻辑编写代码 不理解的代码无法修复改进 可读性 代码是给人看的,而不是机器 编写可维护代码的第一步是确保代码可读 生产力 团队整体 2023-01-17 Go #Go
Go语言进阶——并发编程 并发与并行 并发:多个线程通过切换时间片的方式在一个cpu上进行调度运行 并行:多个线程在cpu的多个核上运行,真正的同时运行 线程与协程 线程:内核态,操作系统内核进行调度的基本单位,在一个线程上可以跑多个携程,栈大小在MB级别 协程:用户态,由Go管理,轻量级线程,栈大小在KB级别 Go中使用go语句创建协程 12345678910111213141516 2023-01-16 Go #Go