随笔分类 - 04_操作系统
摘要:字符设备和块设备的区别: 1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。 2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和
        阅读全文
                
摘要:操作系统只关心与装载相关的问题: 段的权限(可读、可写、可执行); 装载方案: ELF文件中相同权限的段放在一起当做一个段进行映射;->这样的话可以减少映射时页面的占用,节约内存空间。 不是每个段的长度都是页长度的整数倍。如果不是,多余的部分也将占用一个页。->这会导致内存的页内碎片,造成内存浪费。
        阅读全文
                
摘要:计算机系统体系结构 Computer Architecture 主要内容有: 1、性能的定量分析2、指令集ISA设计3、流水线技术4、存储层次结构5、指令级并行ILP6、数据级并行(向量体系结构)7、多处理器与线程级并行 操作系统是计算机系统抽象层次结构中的一层。应用-算法-编程语言-操作系统-IS
        阅读全文
                
摘要:线程: 线程就是程序中的一条控制流,多线程就是多条控制流;线程是在进程的基础上,进一步划分; 进程是资源的基本单元;线程是调度的基本单位; 一个进程至少有一个线程,或多个线程; 进程更像操作系统对资源分配的单位; 线程是操作系统对处理机调度的单位; 线程自己不拥有系统资源,只拥有一点儿在运行中必不可
        阅读全文
                
摘要:一、关于操作系统的背景阐述 1、计算机平台包括一组硬件资源(处理器、内存、I/O模块、定时器、磁盘驱动器);2、计算机程序是为了执行某些任务而开发的;它们接收外来的输入、做一些处理之后、输出结果。3、根据给定硬件平台来写应用程序的效率是低下的;	a)针对相同的平台可以开发出很多应用程序,所以开发出针
        阅读全文
                
摘要:一、从分层存储器体系谈起 根据冯诺依曼计算机体系结构,计算机是以存储器为核心的。 分为五大部件:运算器、控制器、存储器、输入设备、输出设备。 存储器又包括寄存器、内存;CPU整合了寄存器、运算器、控制器;输入输出设备统称I/O设备(外部存储器即磁盘也属于I/O范畴); 内存(RAM)是计算机系统中重
        阅读全文
                
摘要:进程是计算机操作系统中非常重要的概念。是一种非常重要的抽象。 一、为什么要引入进程这个概念? 先从计算机的体系结构——冯诺依曼体系结构。它是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。这个体系结构
        阅读全文
                
摘要:操作系统中最重要的三个抽象概念:进程(线程)、地址空间、文件; 任何计算机程序都需要存储和检索信息; 首先想到的是使用使用其自身的地址空间存储信息; 但是有一些问题:虚拟地址空间大小有限、信息无法持久化、信息的共享不方便; 总而言之,信息依附于进程存在是不方便的; 更好的方法是利用长期存储性质的介质
        阅读全文
                
摘要:The System Boot Process Explained:https://www.webopedia.com/DidYouKnow/Hardware_Software/BootProcess.asp 操作系统是怎么启动的?BootLoader是在操作系统内核运行之前运行;->初始化硬件设备
        阅读全文
                
摘要:官网安装教程:http://www.freenos.org/doxygen/index.html 整体思路:在Ubuntu操作系统下,安装qemu虚拟机,然后用虚拟机运行FreeNOS的镜像。以下是详细操作步骤: 一、下载必要的开发工具 Update your system repository c
        阅读全文
                
摘要:硬盘是计算机的主要存储媒介。 分区是操作系统的逻辑概念,硬盘本身没有分区。 通过在Windows系统中打开磁盘管理可以看到磁盘分区的信息。如下图所示。 为什么要硬盘分区: https://www.disktool.cn/jiaocheng/hard-disk-partition.html 硬盘分区实
        阅读全文
                
摘要:如果逻辑控制流在时间上重叠,那么它们就是并发的。 这种常见的现象称为并发。其实并发出现在计算机的很多层面上:硬件异常处理,进程和Linux信号处理程序都是; 但是这里主要将并发看作是一种操作系统内核用来运行多个应用程序的机制。 但是并发并不局限于内核,它可以再应用程序中扮演重要的角色。 例如:看到U
        阅读全文
                
摘要:所有的网络应用都是基于相同的基本编程模型,有着相似的整体逻辑结构,并且依赖相同的编程接口。 网络应用依赖很多系统研究中已经学习过的概念:进程、信号、字节顺序、存储器映射以及动态存储分配; 还有一些新概念要掌握; 首先要理解客户端-服务器编程模型,以及如何编写使用因特网提供的服务的客户端-服务器程序。
        阅读全文
                
摘要:系统级I/O 输入/输出 是在主存和外部设备之间拷贝数据的过程。 外部设备可以是:磁盘驱动器、终端和网络。 输入和输出都是相对于主存而言的。 输入是从I/O设备拷贝数据到主存。输出时从主存拷贝数据到I/O设备。 所有语言运行时系统都提供执行I/O的较高级别的工具。 如ANSI C提供标准I/O库,包
        阅读全文
                
摘要:虚拟存储器 一个系统中的进程是与其他进程共享CPU和主存资源的。共享主存会形成一些特殊的挑战。 随着对CPU需求的增长,进程以某种合理的平滑方式慢了下来。 但是如果太多的进程需要太多的存储器,那么它们中的一些根本就无法运行。 存储器还很容易被破坏。如果某个进程不小心写了另一个进程使用的存储器,它就可
        阅读全文
                
摘要:假设有这么一个序列:a0 a1 a2 ... an-1 ak是某个相应指令Ik的地址。每次从ak到ak-1的过渡称为控制转移(control transfer)。 这样的控制转移序列叫作处理器的控制流(control flow)。 最简单的控制流是一个平滑的序列,其中每个Ik和Ik+1在存储器中都是
        阅读全文
                
摘要:链接(linking)是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。 链接于编译时,也就是源代码被翻译成机器代码时; 链接于加载时,也就是在程序被加载器加载到存储器执行时; 链接于运行时,由应用程序来执行。 传统静态链接、加载时的共享库动态链接、运行时的
        阅读全文
                
摘要:存储器层次结构 1、讨论基本的存储技术并描述它们是如何被组织成层次结构的; 2、注意力集中在告诉缓存存储器上,它是作为CPU和主存之间的缓存区域; 3、程序中局部性的技术; 1、存储技术 随机访问存储器 磁盘存储 2、局部性 编写良好的计算机程序常常具有良好的局部性。 也就是说,它们倾向于引用邻近于
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号