操作系统原理

操作系统原理作业(2)在ubuntu中编写一个shell从文件中读取每一行显示并统计总行数

跟風遠走 提交于 2020-03-10 14:51:52
测试文件: 测试的相关代码: #!/bin/bash while read line do echo $line done < test.txt #!/bin/bash cat test.txt | while read line do echo $line done 在文件夹中加入test.txt和homework.sh 切换到此文件夹 执行方式1: chmod +x ./homework.sh ./homework.sh 执行方式2: bash homework.sh 测试结果 来源: CSDN 作者: you_lxy 链接: https://blog.csdn.net/qq_43148490/article/details/104768314

操作系统原理03

时间秒杀一切 提交于 2020-03-08 00:57:33
设备管理 按照信息特征可以划分为:字节设备、块设备、网络设备 设备分配 按照一定的策略为申请设备的进程分配设备,记录设备使用情况。 分配方式: 独占设备的分配 包括所有的字符型设备 共享设备的分配 包括所的块设备,宏观上是多进程使用,微观还是单进程交替使用 虚拟分配 设备映射 设备驱动 Linux驱动程序 文件系统 文件系统的概念 文件是计算机信息存储的重要组织形式 文件的逻辑结构 记录式文件(现在都不用了) 流式文件 文件的物理结构 连续文件 索引文件 串联文件(FAT) FAT文件系统 FAT(File Allocation Table) FAT12 FAT16 FAT32 空闲文件的管理方法(文件存储管理) 空闲文件目录 空闲块链 位视图 文件目录管理 来源: CSDN 作者: TONKIA 链接: https://blog.csdn.net/tonkia/article/details/104717511

操作系统原理实验(一)

蹲街弑〆低调 提交于 2020-02-27 04:22:58
写在开头开头 近日新型冠状肺炎很严重,学校也开不了学了,在MOOC上学习操作系统原理时 看到老师留下的全靠自觉完成的实验题,在这里记录一下。 本篇给出 1,2两题的解析,3,4在下一篇中分享 3.1 (实验目的:熟悉Windows批处理编程)在Windows环境下,编写一个批处理程序(算命大师.bat),程序运行后,输入:出生年月日(例如20000731)。系统输出你的属相和星座,例如:你属兔,狮子座。 3.2 (实验目的:熟悉Linux脚本编程)在Linux环境下,编写一个Shell脚本理程序,能统计给定文本文件的单词数,行数。 3.3 (实验目的:了解操作系统生成的概念,熟悉Linux内核编译和裁剪)在Ubuntu或Fedora环境下裁剪和编译Linux内核,并启用新的内核。源代码下载网址:www.kernel.org. 3.4 (实验目的:熟悉Linux系统调用原理)在Ubuntu或Fedora环境下为Linux内核增加1-3个新的系统调用,并启用新的内核,编写一个应用程序测试新增加的系统调用是否能正确工作。源代码下载网址:www.kernel.org. ---------------------------------------------------------------------------------------------------- 3

操作系统原理

人走茶凉 提交于 2020-01-05 07:45:18
操作系统做了什么 以一个简单的C语言程序为例: 下面是操作系统对程序的运行过程: 操作系统是什么? 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合----- 1) 它们能以尽量有效、合理的方式组合和管理计算机的软硬资源 2) 合理地组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能 3) 使得用户能够灵活、方便地使用 计算机,使得整个计算机系统高效运行 有效 :系统效率,资源利用率 CPU利用率充足与否?I/O设备是否忙碌? 合理 :各种软硬件资源的管理是否公平合理 如果不公平、不合理、则可能产生问题 方便使用 : 两种角度:用户界面 与 编程接口 从资源管理的角度———五大基本功能 1) 进程/线程管理(CPU) 进程线程状态、控制、同步互斥、通信、调度、…… 2) 存储管理 分配/回收、地址转换、存储保护、内存扩充、…… 3) 文件管理 文件目录、文件操作、磁盘空间、文件存取控制、…… 4) 设备管理 设备驱动、分配回收、缓冲技术、…… 5) 用户接口 系统命令、编程接口 OS 对硬件机器的扩展 操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机) 对硬件抽象,提高可移植性;比底层硬件更容易编程。 操作系统的特征 OS特征—并发 并发(concurrency):指处理多个同时性活动的能力 由于并发将会引发很多问题: 活动切换、保护

操作系统原理之存储问题

泪湿孤枕 提交于 2020-01-01 07:51:48
1. 某个OS采用可变分区分配方法管理,用户主存512KB,自由区由可用空区表管 理。若分配时采用分配自由区的低地址部分的方案,假设初始时全为空。对于 下列申请顺序: 申请(300KB), 申请(100KB), 释放(300KB), 申请(150KB),申请 (30KB),申请(40KB),申请(60KB),释放(30KB)。 回答下列问题: ( 1) 采用首次适应( FF),自由空区中有哪些空块(给出地址和大小)? ( 2) 若采用最佳适应( BF),回答( 1)中的问题。 ( 3) 如果再申请100KB,针对( 1)和( 2)各有什么结果? 1 )如图    空闲区: 起始地址: 150K 280K 400K 大小: 30K 20K 112K (2) 如图                         空闲区: 起始地址: 210K 400K 470K 大小: 90K 30K 42K (3) 针对( 1 ) 可分配在 400K 位置 针对( 2 ) 无法分配 2. 考虑下面的页访问串: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假定有4,5,6个页块, 应用下面的页面替换算法,计算各会出现多少次缺页中断。注意,所给定的页 块初始均为空,因此,首次访问一页时就会发生缺页中断。 ( 1) LRU ( 2) FIFO ( 3) Optimal

操作系统原理之磁盘调度

僤鯓⒐⒋嵵緔 提交于 2020-01-01 07:49:07
首先介绍主要的的四种磁头调度算法 (一)先来先服务算法(FCFS) 1、算法思想:按访问请求到达的先后次序服务。 2、优点:简单,公平。 3、缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。 4、例子: 假设磁盘访问序列:98,183,37,122,14,124,65,67。读写头起始位置:53。求:磁头服务序列和磁头移动总距离(道数)。 由题意和先来先服务算法的思想,得到 下图所示的磁头移动轨迹。由此: 磁头服务序列为:98,183,37,122,14,124,65,67 磁头移动总距离=(98-53)+(183-98)+|37-183|+(122-37)+|14-122|+(124-14)+|65-124|+(67-65)=640(磁道) (二)最短寻道时间优先算法(SSTF) 1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。 2、优点:改善了磁盘平均服务时间。 3、缺点:造成某些访问请求长期等待得不到服务。 4、例子:对上例的磁盘访问序列,可得磁头移动的轨迹 如下图。请同学自己给出磁头服务序列并计算磁头移动总距离。 (三) 扫描算法(电梯算法)(SCAN) 1、算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务

操作系统内存管理

走远了吗. 提交于 2019-12-01 17:12:26
1. 引言 2. 内存管理的环境 3. 内存管理的目标 4. 虚拟内存 5. 单道编程的内存管理 5.1 静态地址翻译 在单道编程环境下,整个内存里面只有两个程序: 一个是用户程序和操作系统程序 。由于只有一个用户程序,而操作系统所占用的内存空间是恒定的,我们可以将用户程序总是加载到一个内存地址上。即用户永远从同一个地方开始执行。在这种管理方式下,操作系统永远跳转到同一个地方来启动用户程序。这样用户程序里面的地址都可以事先计算出所有的物理地址。这种在运行前就将物理地址计算好的方式叫做 静态地址翻译。 5.2 内存管理的目的 为了弄清楚是否达到的内存管理的目的,需要从下面几个方面考虑: 首先,地址是否独立 ,即固定地址的内存管理达到地址独立了吗?衡量地址是否独立的判断标准就是看看用户编写程序时是否需要知道该程序将要运行的物理内存的知识,而用户在编写程序时所用的物理内存无须考虑具体的物理内存,即该管理模式下达到了的地址的独立性。那它是如何达到的呢?办法就是将用户程序加载到同一物理地址上。通过静态编译即可完成虚拟地址到物理地址的映射,而这个映射翻译工作可以由编译器或加载器来实现。 其次,物理地址是否得到保护 ,即要看进程是否访问到了其它用户进程的空间,或都别的用户进程是否会访问该进程的地址(进程地址是否允许多用户进行访问)?其实在单道编程的情况下,肯定是不会的。因为

操作系统原理之I/O设备管理(第六章上半部分下)

爱⌒轻易说出口 提交于 2019-11-29 22:35:59
五、I/O软件原理 输入输出软件的总体目标是将软件组织成一种层次结构 低层软件用来屏蔽硬件的具体细节 高层软件则主要是为用户提供一个简洁、规范的界面 设备管理的4个层次: 用户层软件 -》向系统发出I/O请求,显示I/O操作的结果,提供⽤户与设备的接⼝ 与设备无关的软件层-》完成设备命名、设备分配、设备独⽴性和缓冲管理等功能 设备驱动程序-》与硬件关系最密切,包括设备服务程序和中断处理程序 中断处理程序(底层)-》 设备管理软件的功能: (1)实现I/O设备的独⽴性 (2)错误处理 (3)异步传输 (4)缓冲管理 (5)设备的分配和释放 (6)实现I/O控制⽅式 中断处理程序   中断处理程序的作⽤:I/O中断处理程序的作⽤是将发出I/O请求⽽被阻塞的进程唤醒 设备驱动程序: 与硬件⽆关的I/O软件: 与设备⽆关的I/O软件的功能如下: (1)设备命名 (2)设备保护 (3)提供独⽴于设备的块⼤⼩ (4)为块设备和字符设备提供必要的缓冲技术 (5)块设备的存储分配 (6)分配和释放独⽴设备 (7)错误处理 六、 磁盘管理 磁盘存储器容量⼤,存取速度快,⽽且可以实现随机存取,是存放⼤量程序和数据的理想设备; 磁盘管理的重要⽬标是提⾼磁盘空间利⽤率和磁盘访问速度 磁盘结构:   ⼀个物理记录存储在⼀个扇区上,磁盘存储的物理记录数⽬是由扇区数、磁道数及 磁盘⾯数决定的。 磁盘类型:

计算机及操作系统原理笔记

半城伤御伤魂 提交于 2019-11-29 11:48:18
CPU :运算器、 控制器、寄存器。(三大核心部件) RAM :内存设备 一个字节为一个存储单元 cell NorthBridge : 32bit 2^32=4GB 32位的CPU最多只能理解4G的物理内存空间 64bit 4GB*4GB CPU------(线路复用)寻址------RAM PAE: 物理地址扩展(physical Address Extension)--给32bit的寻址总线上有添加了4bit 32bit,+4bit =64G (使32位的操作系统CPU最大寻址到64G的内存空间) -前提:内核必须支持额外4bit寻址总线的能力。 现在:当你的内存大于4G时,会直接使用64bit操作系统。 64G的内存:单进程的寻址能力仍为3G,另外1G交给内核了。 拓展:Mysql为单进程多线程的模型 CPU的存取频率远大于RAM,两者速度不匹配,这就需要提供缓存了。 缓存器:比原始存储设备快,但内存很小 , 置换策略:可以保证一旦缓存中没有足够的空间可用而后续的数据又需要载入的时候,能够将缓存空间按序腾出来。 空间局部性:如果一个数据被访问到,那么理他很近的数据也会快被访问到。(提高命中率) 时间局部性:如果一段数据被访问到过一次,那么很快它还可能会被访问一次。 引入缓存后,弥补了CPU和RAM速度的巨大差异。 多级缓存:缓存级别越小离CPU越近。速度也越接近CPU速度。

操作系统原理笔记

回眸只為那壹抹淺笑 提交于 2019-11-27 19:03:24
1)分时系统和批处理系统 2)单道系统和多道系统 3)并发(单处理机 宏观看:多个任务交替执行,微观看:串行) 4)并行(多处理机,宏观看:多个任务在多个处理及同时执行任务,微观看:交替的互斥的使用某个资源) 5)进程:向计算机申请资源的最小实体 6)线程:申请操作系统中系统调度的最小单元 程序执行顺序: 程序:源代码程序、目标程序和而执行程序 程序执行:编辑、编译、连接、执行 程序的结构:顺序结构、分支结构、循环结构 来源: https://www.cnblogs.com/yjp372928571/p/11373452.html