文件修改时间和访问时间不一致

文件修改时间和访问时间不一致
文件修改时间和访问时间不一致

为什么文件属性中的“访问时间”和“修改时间”不一致?

在Win7下,我注意到一个现象,就是经常文件属性中的“访问时间”和“修改时间”是不一致的,如下图:

这个文件是我在21:41 创建的,然后我在21:42修理里面的内容并保存。按照常理,访问时间应该和修改时间一致才对。现象是反而比修改时间早,很奇怪。

根据GetFileTime这个API,和文件相关的时间有3个:

BOOL WINAPI GetFileTime(

__in HANDLE hFile,

__out_opt LPFILETIME lpCreationTime,

__out_opt LPFILETIME lpLastAccessTime,

__out_opt LPFILETIME lpLastWriteTime

);

CreationTime:创建时间,很好理解,就是这个文件创建时的时间。

LastAccessTime:最后访问时间,表示文件读取,写入,复制或者执行的最后时间. LastWriteTime: 文件最后写入的时间。

从这个定义来看的话,LastAccessTime应该大于等于LastWriteTime.但是从使用来看的话,却又不是这样的。

Why?

今天看了The Old New Thing才明白过来,原来从2003 SP1起,为了性能,默认把LastAccessTime给禁用了。

我使用的是Win7系统,默认是关闭的。

那么它为什么会影响性能呢?

LastAccessTime会保存到两个地方:

?文件属性中,作为MFT中的一条记录

?该文件所属的目录索引中。

影响性能的主要原因是如果一个文件只是读操作的话,为了更新这个时间,就必须做一个写

操作,把该信息写入到文件属性和目录索引中去,这样一个读操作就变成了一个读+写操作。由于现在的硬盘都非常大,几十万个文件都是常事,如果读操作再加一个写操作,那么这个

确实影响性能。(详细可以参考Fsutil: behavior 中对于DisableLastAccess的描述,地址

附后)。

下面是各个文件系统对文件时间的支持文档:

Feature NTFS exFAT UDF FAT32

Creation time stamps(创建时间)Yes Yes Yes Yes

Last access time stamps(最后访问时间)No*Yes Yes Yes (只更新日期) Last change time stamps(最后改变时间)Yes Yes Yes Yes

Last archive time stamps(最后存档时间)No No No No

说明:

1.NTFS 本身是支持更新LastAccessTime,在Windows 2000,XP,2003中默认是开启的,Vista之后需要单独开启。

如何开启LastAccessTime的更新呢?

使用命令查询当前系统是否关闭了LastAccessTime的更新:

fsutil behavior query disablelastaccess

1 表示关闭,0表示开启

关闭LastAccessTime的更新:

fsutil behavior set disablelastaccess 1

注意:需要重启。

打开LastAccessTime的更新:

fsutil behavior set disablelastaccess 0

注意:需要重启。

事实上,上面的修改都是修改的注册表

Key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] Value Name: NtfsDisableLastAccessUpdate

Data Type: REG_DWORD (DWORD Value)

Value Data: (0 = disable, 1 = enable)

磁盘调度

湖南工业大学 课程设计 资料袋 计算机与通信学院学院(系、部)20 11 ~ 20 12 学年第一学期课程名称操作系统指导教师左新娥职称讲师 学生姓名戴亚丽专业班级计本092 学号09408100219 题目磁盘调度算法的实现与分析 成绩起止日期2011 年12 月19日~2011 年12月24日 目录清单 序号材料名称资料数量备注 1 课程设计任务书 1 2 课程设计说明书 1 3 4 5 6

湖南工业大学 课程设计任务书 2008 —2009 学年第1 学期 计算机与通信学院学院(系、部)计算机科学与技术专业092班级课程名称:操作系统 设计题目:磁盘调度算法的实现与分析 完成期限:自2011年12 月19 日至2011 年12 月24 日共 1 周 内容及任务一、设计的主要技术参数 二、设计任务 1.先来先服务算法(FCFS) 2.最短寻道时间优先算法(SSTF) 3.扫描算法(SCAN) 4.循环扫描算法(CSCAN) 三、设计工作量 通过一周的时间进行设计、编码、测试、运行、书写实验报告。 进度安排 起止日期工作内容 2011-12-19至2011-12-19数据结构设计 2011-12-20至2011-12-20编写代码 2011-12-21至2011-12-21调试运行、修改 2011-12-24至201-12-24得出最终程序、撰写实验报告 主要参考资料 ●《计算机操作系统》.中南大学出版社. 胡志刚,谭长庚等. 2005 ●《操作系统》(第2版). 电子工业出版社. 罗宇,邹鹏等.2007.4 ●《计算机操作系统》.西安电子科技大学出版社, 汤子瀛、哲凤屏、汤小丹. 2001,8. ●《操作系统教程》. 北京大学出版社, 陈向群杨芙清.2004,7. ●《计算机操作系统教程》. 清华大学出版社, 张尧学史美林. 2000. 指导教师(签字):年月日 系(教研室)主任(签字):年月日

操作系统实验四磁盘调度算法

实验四磁盘调度 一、实验目的: 本实验要求学生模拟设计一个磁盘调度程序,观察调度程序的动态运行过程。通过实验让学生理解和掌握磁盘调度的职能。 二、实验容: 对磁盘进行移臂操作,模拟磁盘调度算法并计算平均寻道时间 三、实验准备: 1.相关理论知识: (1)假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 (3)磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。由于磁盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降低寻道时间。 (2)磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用磁盘调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。 2.测试数据: 磁盘读写请求队列:20,44,40,4,80,12,76 当前磁头位置:50

试问采用FCFS、SSTF、SCAN磁盘调度算法时寻道顺序及平均寻道时间分别为多少? 四、实验过程: 1.流程图 SCAN算法(扫描算法)流程图:

2. 源代码 #include #include #include #include #define maxsize 1000 /*********************判断输入数据是否有效**************************/ int decide(char str[]) //判断输入数据是否有效 { int i=0; while(str[i]!='\0') { if(str[i]<'0'||str[i]>'9') { return 0; break; } i++; } return i; } /******************将字符串转换成数字***********************/ int trans(char str[],int a) //将字符串转换成数字 { int i; int sum=0; for(i=0;icidao[j]) {

组策略限制访问磁盘

组策略限制访问磁盘 时间:2011-06-08 09:30 来源:鲁大师下载作者:节能省电打印 硬件检测(https://www.360docs.net/doc/8e1919057.html,/help/hardsummary.htm) 使用电脑的用户都有自己的秘密文件,特别是对于商务用户而言,自然不愿意让别人使用自己的电脑,以免造成商业机密的泄漏。但是有时又不能不让别人用自己的电脑,真是有点犯难了,其实这时我们可以通过简单的设置即将电脑的硬盘锁住,从而就可以让别人访问不到被限制的磁盘。这种方法是利用Windows的组策略进行设置的,十分便捷和实用。 首先点击Windows左下角的“开始→运行”,在对话框中输入“gpedit.msc”,这样就打开了“组策略”设置窗口。然后在“组策略”设置窗口中,依次打开“本地计算机策略→用户配置→管理模板→Windows组件→Windows资源管理器”选项。在右侧设置中找到“防止从‘我的电脑’访问驱动器”选项,在这个选项的“未被配置”状态处点击鼠标右键,选择“属性”。 在弹出的对话框中有三个选项,分别是“未配置”、“已启用”和“已禁用”。选择“已启用”,然后在下面就会出现选择驱动器的下拉菜单列表,如果要限制某个硬盘、硬盘分区甚至是光驱的使用,只要选中该驱动器就可以了。比如,我们要限制系统盘C:的使用,选中“仅限制驱动器C”即可。如果希望关闭所有硬盘、光驱等,可以选中“限制所有驱动器”,然后点击应用或保存设置即可。 接下来进入“我的电脑”,点击C盘或其他被限制的驱动器时出现访问失败的提示。值得一提的是,这种设置组策略的方法安全型很高,即使别人通过“资源管理器”、“运行”对话框、网络浏览器以及DIR命令等,也无法查看驱动器中文件了。这样一来,用户只要将所有重要的文件放到一个分区并限制起来,就不怕别人发现自己的秘密了

操作系统磁盘调度算法

操作系统课程设计任务书 题目:磁盘调度算法 院系: 专业: 班级: 姓名: 学号: 指导教师: 设计时间:2018.1.1-2018.1.5 指导教师评语

目录 1、需求分析 (4) 1.1课题描述 (4) 1.2课题目的 (4) 1.3理论依据 (7) 2、概要设计 (8) 2.1设计方法 (8) 2.2技术 (8) 2.3运行环境 (8) 3、详细设计 (9) 3.1流程图 (11) 3.2程序主要代码 (13) 4、运行结果及分析 (14) 4.1运行结果 (15) 4.2结果详细分析 (16) 5、总结和心得 (16) 6、参考文献 (17) 7、附录:程序源代码 (23)

1、需求分析 1.1课题描述 这次课程设计我研究的题目是:磁盘调度算法。具体包括三种算法分别是:先来先服务算法(FCFS)、最短寻道时间优先算 法(SSTF)、扫描算法(电梯调度算法)(SCAN)。 1.2课题目的 通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先服务FCFS,最短寻道时间优先SSTF,扫描SCAN算法的实 现方法。 1.3理论依据 设备的动态分配算法与进程调度相似,也是基于一定的分配策略的。常用的分配策略有先请求先分配、优先级高者先分配 等策略。在多道程序系统中,低效率通常是由于磁盘类旋转设 备使用不当造成的。操作系统中,对磁盘的访问要求来自多方 面,常常需要排队。这时,对众多的访问要求按一定的次序响 应,会直接影响磁盘的工作效率,进而影响系统的性能。访问 磁盘的时间因子由3部分构成,它们是查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间,其中查找时间是 决定因素。因此,磁盘调度算法先考虑优化查找策略,需要时 再优化旋转等待策略。 平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即:L=(M1+M2+……+Mi+……+MN)/N

linux统计目录下的文件个数及修改时间

linux下如何查询文件数量? 我将linux下某一目录的所有文件ftp到一台windows机器上,我想知道是否下载完全了就必须比较文件夹的大小和文件夹下文件的总数量,在linux下该用什么命令啊? 文件大小可以du -sh /var类似这样的,文件数量 查看文件夹下的文件个数(当前目录的文件数) ls -l |grep "^-" | wc -l ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。 查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数) find ./ -type f | wc -l 或者 ls -lR|grep "^-"|wc -l Linux下查看当前目录下文件的个数ls -l | grep “^-”| wc -l 查看当前目录下文件的个数,包括子目录里的。 ls -lR| grep “^-” | wc -l 查看某目录下文件夹(目录)的个数,包括子目录里的。 ls -lR| grep “^d” | wc -l 简要说明: ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep “^-” 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是^d wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数 Linux系统中打开文件数量的查看方法 文章转载自网管之家:https://www.360docs.net/doc/8e1919057.html,/os/linux/200804/137662.html ulimit -n 4096 也就是限制用户的最大文件打开数为4096个 在网上查了关于怎么查看文件打开数的文章大致有两种说法 /proc/sys/fs/file-nr 该文件与file-max 相关,它有三个值: 已分配文件句柄的数目 已使用文件句柄的数目 文件句柄的最大数目 该文件是只读的,仅用于显示信息。 查看所有进程的文件打开数 lsof |wc -l 查看某个进程打开的文件数 lsof -p pid |wc -l unix 文件大小,文件行数 #文件行数 file_count=`wc -l /odsstatfs/groupfile/${file_name} | awk '{print $1}'` echo "文件行数:${file_count}" #文件大小 file_size=`ls -l /odsstatfs/groupfile/${file_name} | awk '{print $5}'` echo "文件大小:${file_size}" 总结了一下有五种方法:

磁盘复习

假定磁盘转速为20ms/r,每个磁道被划分为10个扇区,如图1所示。现有10条记录存放在同一磁道上(一条记录正好与一个扇区的大小相等),处理程序从磁盘读出一条记录需要4ms,现要求按从1到10的顺序处理这10条记录。若磁头处于首条记录的起点位置,则: (1)按逆时针方向依次存放这10条记录(磁盘顺时针方向旋转),处理程序读取这10条记录需要多长时间? (2)按最优化分布重新安排这10条记录,写出记录的逆时针存放顺序,并计算处理这10条记录需要的时间。 分析:①数据处理时间=磁盘访问+数据处理; ②磁盘访问时间=磁头寻道+旋转延迟+数据传输。 (1)数据传输需要20/10=2ms,数据处理需要4ms,因此处理记录需要6ms。 到下一条记录的旋转延迟需要2ms*8=16ms 故以此顺序处理这10条记录需要:6+9*(16+6)=204ms (2)通过优化数据分布,重新安排这10条记录的顺序为如图所示: 计算处理这10条记录需要的时间:10*6ms=60ms 某磁盘共有100个柱面,每个柱面有8个磁头,每个盘面分4个扇区。若逻辑记录与扇区等长,柱面、磁道、扇区均从0起编号。现用16位的200个字(0-199)来组成位示图来管理盘空间。现问:(1)位示图第15个字的第7位为0而准备分配给某一记录,该块的柱面号、磁道号、扇区号是多少?(2)现回收第56柱面第6磁道第3扇区,这时位示图的第几个字的第几位应清0? 答:(1)位示图第15个字的第7位对应的块号=15×16(字长)+7=247,而块号247对应的: 柱面号=247/(8×4)=7(从0编号,向下取整) 磁头号=(247 MOD 32)/4=5 扇区号=247 MOD 32 MOD 4=3 (2)块号=柱面号×柱面扇区数+磁道号×盘扇区+盘扇区=56×(8×4)+6× 4+3=1819 字号=1819/16=113 位号=1819 MOD 16 =11 所以,回收第56柱面第6磁道第3扇区时,位示图的第113字的第11位应清0。 旋转型设备上信息的优化分布能减少为若干个I/O服务的总时间。设磁鼓上分为20个区,每区存放一个记录,磁鼓旋转一周需20毫秒,读出每个记录平均需用1毫秒,读出后经2毫秒处理,再继续处理下一个记录。在不知当前磁鼓位置的

实验七 磁盘调度

实验七磁盘调度 一、实验目的: 磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。 由于磁盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降低寻道时间。本实验要求模拟设计一个磁盘调度程序,观察调度程序的动态运行过程。通过实验来理解和掌握磁盘调度的职能。 二、实验内容: 分别模拟如下电梯调度算法,对磁盘进行移臂操作: ●先来先服务算法 ●最短寻道优先算法 ●电梯算法 三、实验要求: 1、假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 2、磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。 当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工 作结束。当有多个进程提出输入输出请求而处于等待状态时,可用磁盘调度算法从 若干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进程。 3、由于磁盘与处理器是并行工作的,所以当磁盘在为一个进程服务时,占有处理器的 其它进程可以提出使用磁盘(这里我们只要求访问磁道),即动态申请访问磁道, 为此设置“接受请求”进程。 4、为了模拟以上两个进程的执行,可以考虑使用随机数来确定二者的允许顺序,参考 程序流程图。 5、“接受请求”进程建立一张“进程请求I/O”表,指出等待访问磁盘的进程要求访 问的磁道,表的格式如下: 6、磁盘调度的功能是查“请求I/O”表,当有等待访问的进程时,按磁盘调度算法从 中选择一个等待访问的进程,按其指定的要求访问磁道。流程图中的“初始化”工 作包括:初始化“请求I/O”表,设置当前移臂方向;当前磁道号。并且假设程序 运行前“请求I/O”表中已有若干进程(4~8个)申请访问相应磁道。

取文件名称和扩展名如何修改日期和时间

取文件名称和扩展名如何修改日期和时间 修改文件的时间日期: <% Dim objCMFU Dim strModified Set objCMFU = Server.CreateObject("CM_FileUtils.GetProperty") ' 创建对象并赋给变量,并且GetProperty类是当前唯一可用的 strModified = https://www.360docs.net/doc/8e1919057.html,stModified ' 检索并返回包含最后修改日期和时间(LastModified function )值.当然了,还要考虑到出错的可能. Set objCMFU = Nothing ' 清空. %> <% If strModified = "Error!" Then %> 对不起,出错了!! <% Else %> 这个文件最后修改于: <%= strModified %> <%= FormatDateTime(CDate(strModified),1) %> <%= FormatDateTime(CDate(strModified),3) %> <% End If %>

扩展获取用户访问的具体时间? 可以这样来定义: Dim M_DateTime M_DateTime=Year(Date())&"/"&Right("0"&Month(Date()),2)&"/"Right("0"&Day(Date()), 2)&"/"&Right("0"&Hour(Time()),2)&":"&Right("0"&Minute(Time()),2)&":"&Right("0"&S econd(Time()),2)

磁盘调度算法

磁盘调度算法 现代操作系统中,磁盘利用外层磁道容量较内层磁道大的特点,将盘面划分成若干条环带,使得同一环带内的所有磁道具有相同的扇区数。磁头在各磁道上移动,当进程请求时根据当前磁头位置和待访问位置决定访问次序。本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。 设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。 磁道访问序列不小于6。 选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。 可选的实现磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和NStepSCAN算法。 选择比较的算法,不小于3。 按算法的寻道效率进行排序,并对各算法的性能进行分析比较。 先来先服务FCFS 根据进程请求访问磁盘的先后次序进行调度。 当一个新的磁盘访问请求发生时,不考虑其他因素,仅仅凭借作业的到达次序,作为调度的依据。 程序设定访问磁道的起止道号,如100-500,随机产生不小于6个磁道访问的序列,并明确次序。 按照FCFS方法,依磁道访问序列,确定每个作业的移动磁道数,并输出 计算平均寻道长度 详细描述实验设计思想、程序结构及各模块设计思路; 详细描述程序所用数据结构及算法; 明确给出测试用例和实验结果; 为增加程序可读性,在程序中进行适当注释说明; 认真进行实验总结,包括:设计中遇到的问题、解决方法与收获等; #include #include using namespace std; #define size 10 void FCFS(int input[],int num); void SSTF(int input[],int num); void SCAN(int input[],int num); void CSCAN(int input[],int num);

文件修改时间和访问时间不一致

为什么文件属性中的“访问时间”和“修改时间”不一致? 在Win7下,我注意到一个现象,就是经常文件属性中的“访问时间”和“修改时间”是不一致的,如下图: 这个文件是我在21:41 创建的,然后我在21:42修理里面的内容并保存。按照常理,访问时间应该和修改时间一致才对。现象是反而比修改时间早,很奇怪。 根据GetFileTime这个API,和文件相关的时间有3个: BOOL WINAPI GetFileTime( __in HANDLE hFile, __out_opt LPFILETIME lpCreationTime, __out_opt LPFILETIME lpLastAccessTime,

__out_opt LPFILETIME lpLastWriteTime ); CreationTime:创建时间,很好理解,就是这个文件创建时的时间。 LastAccessTime:最后访问时间,表示文件读取,写入,复制或者执行的最后时间. LastWriteTime: 文件最后写入的时间。 从这个定义来看的话,LastAccessTime应该大于等于LastWriteTime.但是从使用来看的话,却又不是这样的。 Why? 今天看了The Old New Thing才明白过来,原来从2003 SP1起,为了性能,默认把LastAccessTime给禁用了。 我使用的是Win7系统,默认是关闭的。 那么它为什么会影响性能呢? LastAccessTime会保存到两个地方: ?文件属性中,作为MFT中的一条记录 ?该文件所属的目录索引中。 影响性能的主要原因是如果一个文件只是读操作的话,为了更新这个时间,就必须做一个写 操作,把该信息写入到文件属性和目录索引中去,这样一个读操作就变成了一个读+写操作。由于现在的硬盘都非常大,几十万个文件都是常事,如果读操作再加一个写操作,那么这个 确实影响性能。(详细可以参考Fsutil: behavior 中对于DisableLastAccess的描述,地址 附后)。 下面是各个文件系统对文件时间的支持文档: Feature NTFS exFAT UDF FAT32 Creation time stamps(创建时间)Yes Yes Yes Yes Last access time stamps(最后访问时间)No*Yes Yes Yes (只更新日期) Last change time stamps(最后改变时间)Yes Yes Yes Yes Last archive time stamps(最后存档时间)No No No No

操作系统磁盘调度实验报告

操作系统实验报告 课程名称操作系统实验名称磁盘调度成绩 学生姓名作业君专业软件工程班级、学号 同组者姓名实验日期2020 一、实验目的 磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。由于磁盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降低寻道时间。本实验要求模拟设计一个磁盘调度程序,观察调度程序的动态运行过程。通过实验来理解和掌握磁盘调度的职能。 二、实验内容与要求 实验内容: 分别模拟如下磁盘调度算法,对磁盘进行移臂操作: ●先来先服务算法 ●最短寻道优先算法 实验要求: 1、假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 2、磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有 进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。 当有多个进程提出输入输出请求而处于等待状态时,可用磁盘调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进程。 3、由于磁盘与处理器是并行工作的,所以当磁盘在为一个进程服务时,占有处理器的其它 进程可以提出使用磁盘(这里我们只要求访问磁道),即动态申请访问磁道,为此设置“接受请求”进程。 4、为了模拟以上两个进程的执行,可以考虑使用随机数来确定二者的允许顺序,参考程序 流程图。 5、“接受请求”进程建立一张“进程请求I/O”表,指出等待访问磁盘的进程要求访问的磁 道,表的格式如下: 6、磁盘调度的功能是查“请求I/O”表,当有等待访问的进程时,按磁盘调度算法从中选 择一个等待访问的进程,按其指定的要求访问磁道。流程图中的“初始化”工作包括:初始化“请求I/O”表,设置当前移臂方向;当前磁道号。并且假设程序运行前“请求I/O” 表中已有若干进程(4~8个)申请访问相应磁道。

linux文件的三个主要的修改时间

Linux文件有3个修改时间,很多朋友都喜欢弄混淆,也包括我在内,现在列出来供参考。 1)modification time (mtime,修改时间):这个时间指的是文件内容修改的时间,而不是文件属性的修改,当数据内容修改时,这个时间就会改变,用命令ls -l默认显示的就是这个时间: 2)status time (ctime,状态时间):当一个文件的状态改变时,这个时间就会改变,例如更改了文件的权限与属性等,它就会改变。 3)access time (atime,访问时间):当读取文件内容时,就会更改这个时间,例如使用cat 去读取/etc/man.config,那么该文件的atime就会改变。 例如: # ls -l --full-time /etc/man.config -rw-r--r-- 1 root root 4522 2007-11-17 18:47:54.000000000 +0800 /etc/man.config # ls -l --time=atime --full-time /etc/man.config -rw-r--r-- 1 root root 4522 2010-03-15 14:20:20.000000000 +0800 /etc/man.config # ls -l --time=ctime --full-time /etc/man.config -rw-r--r-- 1 root root 4522 2008-07-11 16:21:55.000000000 +0800 /etc/man.config ----------------------------------------------------------------------------------- #cat /etc/man.config执行之后再查看atime,该时间已经更改 # ls -l --time=atime --full-time /etc/man.config -rw-r--r-- 1 root root 4522 2010-03-15 14:24:30.000000000 +0800 /etc/man.config 更改文件权限:# chmod o-r /etc/man.config 查看ctime,已经更改。 # ls -l --time=ctime --full-time /etc/man.config

【精编范文】降低磁盘队列长度-范文模板 (9页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 降低磁盘队列长度 篇一:操作系统磁盘寻道练习题及答案 1 假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们按照到达的次分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道上,并向磁道号增加的方向上移动,请给出按FCFS、SSTF、SCAN及CSCAN算法进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度? 答:FCFS SSTF SCAN CSCAN 下一磁道移动数下一磁道移动数下一磁道移动数下一磁道移动数 55 45 58 3 39 19 18 90 21 72 90585539 10150 50 150 50 32160 10 160 10 3 184 24 184 24 16 9090 18 166 38 1 58 32 3820 18 150 20 55339 1 1323965516 160 70 150 10 38 112 16010 38 1 58 3 18424 18 20 9032 184 149 平均寻道长度55.3 27.6 27.8 35.8 2 假定磁盘转速为20ms/圈,磁盘格式化时每个磁道被分成10扇区,今有10个逻辑记录(每个记录的大小刚好与扇区大小相等)存放在同一磁道上,处理程序每次从磁盘读出一个记录后要花4ms 进行处 理,现在要求顺序处理这10个记录,若磁头现在正处于首个逻辑记录的始点位置。

(1)按逆时针方向安排10个逻辑记录(磁盘顺时针方向转),处理程序处理 完这10个记录所花费的时间是多少? (2)按最优化分布重新安排这10个逻辑记录,写出记录的安排,并计算出所 需要处理的时间。 答: (1)读一个逻辑记录需2ms时间,读出记录后还需要4ms时间进行处理,故当磁头处于某记录的始点时,处理它共需6ms时间。逻辑记录是按逆时针方向安 排的,因此系统处理完一个逻辑记录后将磁头转到下一个逻辑记录的始点需要 16ms时间。从而可以计算出处理程序处理完这10个逻辑记录所需的时间为: 6+9*(16+6)=204ms (2)按最优化分布重新按排这10个逻辑记录,可使处理程序处理完一个记录后,磁头刚好转到下一个记录的始点,此时,安顺时针方向安排的逻辑记录顺序分 别为:记录1、记录8、记录5、记录2、记录 9、记录6、记录3、记录10、记录7、记录4,而需要的处理时间为6*10=60ms。篇二:操作系统磁盘调度 一、实验目的: 磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机系统的 辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往同时会有 若干个要求访问磁盘的输入输出要求。系统可采用一种策略,尽可能按最佳次 序执行访问磁盘的请求。由于磁盘访问时间主要受寻道时间T的影响,为此需 要采用合适的寻道算法,以降低寻道时间。本实验要求学生模拟设计一个磁盘 调度程序,观察调度程序的动态运行过程。通过实验让学生理解和掌握磁盘调 度的职能。 二、实验题目: 模拟电梯调度算法,对磁盘进行移臂操作 三、提示及要求: 1、假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 2、磁盘是可供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问某个磁盘时,其它想访问该磁盘的进程必须等待,直到 磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用 电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进程。

原来文件的时间属性也能修改

三天前,通过邮件,一朋友发来了三张图片,请我帮忙把它们的创建时间、修改时间修改成最近的时间。查看这些文件的属性,我发现这些文件的创建时间、修改时间都在1997年。朋友们,怎么修改?傻眼了吧,我也傻眼了!不过最后我还是找到了修改文件时间属性的办法。 小提示:文件的时间属性 1、在Windows上,文件的时间属性有三种:创建时间、修改时间和访问时间。在文件的“属性”对话框上我们可以查看它的这些属性值(如图1)。 2、文件的时间属性记录在文件的头部,在Windows中,利用常规的方法无法修改。创建时间是指文件的建立时间,修改时间是最后一次修改并存盘的时间,访问时间是最后一次打开这个文件的时间。 软件名称:TouchPro 软件版本:4.5.1.0 软件大小:209KB 软件性质:共享软件 运行环境:Windows 9x/NT/2000/XP 下载地址:https://www.360docs.net/doc/8e1919057.html,/index.php?Go=Show::List&ID=5705&Down=2&L=en

汉化包下载地址: https://www.360docs.net/doc/8e1919057.html,/index.php?Go=Show::List&ID=5705&Down=2&L=cn TouchPro就是一款运行于Windows下的时间属性修改工具。TouchPro安装后集成于资源管理器右键菜单,它不占用任何系统资源,支持多级目录与隐藏文件的时间属性批量修改。选中文件或目录后选择鼠标右键菜单中的“TouchPro”即可按你指定的时间格式快速将创建时间、修改时间和访问时间设置为你指定时间或当前时间。 一、修改朋友的文件 第一步:在资源管理器中选中朋友发来的那三个图像文件,单击右键,在弹出的菜单上选择“TouchPro→设置”打开“TouchPro”对话框。 第二步:如图2所示,在“TouchPro”对话框上,只选择“修改时间”复选框,然后单击向下箭头按钮并选择“设定日期和时间为当前的时间”,最后单击“立即修改”。这样,文件的“修改时间”就被修改为当前的时间了。 第三步:在上一步单击了立即修改后,“TouchPro”对话框并没有关闭,在这一步,我们利用该对话框再修改这三个文件的“创建时间”。在“TouchPro”对话框上,清除“修改时间”,选择“创建时间”,然后单击双向箭头的按钮,如图3所示,选择减号单选框,然后在“天” 文本框中输入“3”,最后单击“立即修改”,这样,这三个文件的“创建时间”就比“修改时间”提前了三天。

linux 下查看文件修改时间等

查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 380730 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2008-04-26 01:50:44.000000000 +0800 Modify: 2008-04-26 01:48:18.000000000 +0800 Change: 2008-04-26 01:48:18.000000000 +0800 说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态。 现在是要过滤出Modify的时间戳,并以yyyyMMddHHSS格式保存,则可以利用下面这条命令: stat awk.txt | grep -i Modify | awk -F. '{print $1}' | awk '{print $2$3}'| awk -F- '{print $1$2$3}' | awk -F: '{print $1$2$3}' 输出结果:20080426014818 修改文件时间与创建新文件:touch 在介绍ls命令时,提到每个文件在Linux下面都会记录3个主要的修改时间: ? modification time(mtime,修改时间):当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性。 ? status time(ctime,状态时间):当该文件的”状态(status)”改变时,就会更新这个时间,举例来说,更改了权限与属性,就会更新这个时间。 ? access time(atime,存取时间):当“取用文件内容”时,就会更新这个读取时间。举例来说,使用cat去读取 ~/.bashrc,就会更新atime了。举例来说,我们来看一看/etc/man.config文件的时间。 [root@linux ~]# ls -l /etc/man.config -rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc/man.config [root@linux ~]# ls -l --time=atime /etc/man.config -rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc/man.config [root@linux ~]# ls -l --time=ctime /etc/man.config -rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc/man.config 看到了吗?在默认的情况下,ls显示的是该文件的mtime,也就是这个文件的内容上次更改的时间。我的系统是在6/25安装的,因此,这个文件产生但状态更改的时间就回溯到那个时间点。因为刚才的范例中使用

FIND 按文件修改时间查找文件及FIND空文件夹

查找两天前修改过的文件: find . -type f -mtime -2 查找3天内修改过的文件: find -ctime -3 find命令使用超过6天,空文件独立查询命令: find /data/backup -ctime +6 -exec rm -f {} ; 删除/data/backup目录下修改时间超过6天的文件。 find /data/backup -type d -empty -exec rmdir {} ; ;/dev/null 2;&1 删除/data/backup目录下空的文件夹,同时输出正确和错误信息到空。 查找超过6天且是空文件的find命令: find ./ -type d -empty -ctime +6 按修改时间来查找文件,要用到选项-mtime: find /home/admin -mtime -1 #查找/home/admin目录下修改时间在1天之内的文件 find /home/admin -name *.txt -mtime -1 #查找/home/admin目录下修改时间在1天之内的文件名为.txt结尾的文件 find 按文件修改时间查找文件 ---(+n)----------|----------(n)----------|----------(-n)--- (n+1)*24H前| (n+1)*24H~n*24H间 |n*24H内 -ctime -n 查找距现在 n*24H 内修改过的文件 -ctime n 查找距现在 n*24H 前, (n+1)*24H 内修改过的文件 -ctime +n 查找距现在 (n+1)*24H 前修改过的文件 [a|c|m]min [最后访问|最后状态修改|最后内容修改]min [a|c|m]time [最后访问|最后状态修改|最后内容修改]time

图片创建日期批量修改方法

文件时间属性修改 小提示:文件的时间属性 1、在Windows上,文件的时间属性有三种:创建时间、修改时间和访问时间。在文件的“属性”对话框上我们可以查看它的这些属性值(如图1)。 2、文件的时间属性记录在文件的头部,在Windows中,利用常规的方法无法修改。创建时间是指文件的建立时间,修改时间是最后一次修改并存盘的时间,访问时间是最后一次打开这个文件的时间。 软件名称:TouchPro 下载地址: https://www.360docs.net/doc/8e1919057.html,/index.php?Go=Show::List&ID=5705&Down=2&L=en 汉化包下载地址: https://www.360docs.net/doc/8e1919057.html,/index.php?Go=Show::List&ID=5705&Down=2&L=cn TouchPro就是一款运行于Windows下的时间属性修改工具。TouchPro安装后集成于资源管理器右键菜单,它不占用任何系统资源,支持多级目录与隐藏文件的时间属性批量修改。选中文件或目录后选择鼠标右键菜单中的“TouchPro”即可按你指定的时间格式快速将创建时间、修改时间和访问时间设置为你指定时间或当前时间。 一、修改朋友的文件

第一步:在资源管理器中选中朋友发来的那三个图像文件,单击右键,在弹出的菜单上选择“TouchPro→设置”打开“TouchPro”对话框。 第二步:如图2所示,在“TouchPro”对话框上,只选择“修改时间”复选框,然后单击向下箭头按钮并选择“设定日期和时间为当前的时间”,最后单击“立即修改”。这样,文件的“修改时间”就被修改为当前的时间了。 第三步:在上一步单击了立即修改后,“TouchPro”对话框并没有关闭,在这一步,我们利用该对话框再修改这三个文件的“创建时间”。在“TouchPro”对话框上,清除“修改时间”,选择“创建时间”,然后单击双向箭头的按钮,如图3所示,选择减号单选框,然后在“天”文本框中输入“3”,最后单击“立即修改”,这样,这三个文件的“创建时间”就比“修改时间”提前了三天。

查看和修改文件属性(如:时间等等)

在VC++下对文件属性的获取与更改 摘要:本文讲述了在Visual C++ 下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。 一、引言 文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创建、读取和写入文件。对于一些要求不是很严格的程序,我们往往只关心文件的内容是否正确、文件大小是否有增减或是再严格一些,看文件名是否符合规定等等。以上这些要素对于大多数程序而言显然是可以满足实际需求的,但对于某些特殊行业的一些有着比较严格要求的软件系统,仅有以上要素还是远远不够的,往往还需要对文件的所有属性诸如文件的创建时间、文件的最后访问时间、文件的最后修改时间等等进行提取处理与重新设置。 二、WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了。 在用findfirst()和findnext()函数去查找磁盘文件时经常使用的一个数据结构WIN32_FIND_DATA的成员变量里包含了以上所有的文件属性,因此可以通过这个结构作为获取和更改文件属性的手段。该结构的内容如下: typedef struct _WIN32_FIND_DATA { DWORD dwFileAttributes; //文件属性 FILETIME ftCreationTime; // 文件创建时间 FILETIME ftLastAccessTime; // 文件最后一次访问时间 FILETIME ftLastWriteTime; // 文件最后一次修改时间 DWORD nFileSizeHigh; // 文件长度高32位 DWORD nFileSizeLow; // 文件长度低32位 DWORD dwReserved0; // 系统保留 DWORD dwReserved1; // 系统保留 TCHAR cFileName[ MAX_PATH ]; // 长文件名 TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名 } WIN32_FIND_DATA, *PWIN32_FIND_DATA;

相关文档
最新文档