Operation System——第1章_概述

操作系统的定义

操作系统(Operating System,OS)是指控制和管理整个计算机的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。

用户角度: 操作系统是一个控制软件,主要提供以下功能:

  1. -管理应用程序
  2. -为应用程序提供服务
  3. -杀死应用程序
  4. -资源管理
  5. -管理外设/分配资源

(1)在操作系统下,将进程抽象为CPU, 将文件抽象为磁盘,将地址空间抽象为内存。
在这里插入图片描述
(2)操作系统的架构层次:硬件之上,应用软件之下(为应用软件提供服务支持)。
(3)Linux,Windows界面属于外壳shell(与User交互),而不是内核kernel,而kernel是研究重点,在shell之下。
(4)Kernel提供的服务包括:

  1. -CPU调度器
  2. -物理内存管理&虚拟内存管理
  3. -文件系统管理
  4. -中断处理和IO设备驱动 (底层硬件)

(5) OS Kernel的特征:

  1. 并发(指一段时间内多个程序运行;而并行是指一个时间点上多个程序运行,要求多个CPU):计算机系统中同时存在多个运行的程序,需要OS管理和调度
  2. 共享:“同时”访问 或 互斥共享
  3. 虚拟:利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务
  4. 异步:程序的执行不是一步到底的,而是走走停停,向前推进的速度不可预知
    **注:**只要运行环境相同,OS要保证程序运行的结果也相同

操作系统的结构

操作系统的发展历程:
手工阶段——> 批处理阶段(单道 or 多道)——> 实时系统/分时系统——>微机操作系统——> 网络操作系统

(1)简单的操作系统:
MS-DOS 不分模块的单体内核 (内部通过函数调用访问,缺点,复杂,紧耦合,易受攻击)
(2)微内核:会频繁的在用户态和核心态之间切换
尽可能把内核功能移植到用户空间,缺点性能低。
(3)外核,内核细分,一块负责和硬件打交道,另一部分和应用打交道。
(4)虚拟机,
VMs(虚拟机)->VMM(虚拟机监视器)->物理机硬件,多操作系统共享硬件资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个错误信息表明在使用文件时发生了一个问题,具体来说,您试图对一个已关闭的文件执行输入/输出操作。这通常意味着您在尝试读取或写入文件之前已关闭了该文件,或者在尝试操作文件时文件已从系统中删除。 要解决这个问题,您需要检查您的代码,确保在执行任何操作之前打开了文件,并在完成所有操作后关闭文件。 例如,您可以使用以下代码来正确地打开和关闭文件: ``` with open('file_6.pdf', 'r') as f: # do something with the file data = f.read() # file is automatically closed after the with block ``` 在这个例子中,在 `with` 语句块中打开的文件会在代码块执行完后自动关闭。这样就不会出现 "I/O operation on closed file" 错误。 ### 回答2: ValueError是Python中的一个异常类,表示数值错误。而"I/O operation on closed file"则是指在已关闭的文件上进行I/O操作,出现了错误。 通过上述错误信息可以推断,在代码中有一个文件叫做"file_6.pdf",在某个地方已经被关闭了,然后又进行了I/O操作,导致程序出现异常。 这个错误通常是由于文件的打开和关闭操作不正确引起的。在使用文件时,我们应该确保在不需要操作文件的时候将其关闭,以释放系统资源。如果文件已经被关闭,就不能再对其进行读取或写入操作。因此,若想解决该异常,可以按照以下步骤来修改代码: 1. 确保在文件的所有操作完成之后,调用文件对象的`close()`方法关闭文件。例如: ``` file = open("file_6.pdf", "r") content = file.read() file.close() ``` 2. 避免在文件关闭后再次使用该文件进行读写操作。需要在确保文件未关闭的情况下进行操作。例如: ``` file = open("file_6.pdf", "r") content = file.read() # 其他操作 file.close() # 或者使用 with 语句自动处理文件关闭 with open("file_6.pdf", "r") as file: content = file.read() # 其他操作 ``` 请注意,在解决该异常之前,也需要确认文件"file_6.pdf"确实存在于所指定的路径中。同时,也可以根据实际需求修改文件的读写模式和操作。 ### 回答3: ValueError: I/O operation on closed file: file_6.pdf是一个错误提示,意味着在对已关闭的文件file_6.pdf进行I/O(输入/输出)操作。 通常,当我们在程序中打开一个文件时,需要在操作完成后显式地将其关闭,以释放与文件相关的资源。如果在文件关闭之后仍然试图对其进行I/O操作,就会引发ValueError异常,提示"ValueError: I/O operation on closed file"。 要解决这个问题,我们需要确保在文件操作完成后正确地关闭文件,以避免对已关闭的文件进行I/O操作。可以采用以下步骤: 1. 确保在完成对文件的操作后进行关闭。在Python中,可以使用`file.close()`方法来关闭文件。例如:`file.close()` 2. 在操作文件之前,可以使用`file.closed`属性检查文件是否已关闭。例如:`if not file.closed:` 3. 确保文件对象在操作完成后不会再被引用。如果在关闭文件之后仍然引用文件对象,并试图对其进行I/O操作,仍然会引发ValueError异常。 总之,ValueError: I/O operation on closed file: file_6.pdf是一个常见的错误提示,意味着对已关闭的文件进行了I/O操作。要解决这个问题,我们需要确保在操作完成后正确地关闭文件,并确保文件对象不再被引用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Star星屹程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值