作業系統:設計與實現-母本

2023 南京大學《作業系統:設計與實現》

課程主頁(含講義):https://jyywiki.cn/OS/2023/

【Python 实现操作系统模型 [南京大学2023操作系统-P4] (蒋炎岩)-哔哩哔哩】 https://b23.tv/jakxDbh

用Python实现操作系统模型讲义

一、操作系统基础概念

1.1 定义

操作系统(Operating System,OS)是管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。它负责管理系统的进程、内存、文件系统以及设备驱动等,为用户和其他应用程序提供一个方便、高效且安全的运行环境。

1.2 功能

- 进程管理:负责进程的创建、调度、终止等操作。进程是程序的一次执行过程,操作系统通过进程管理来实现多任务并发执行,提高系统资源利用率。

- 内存管理:管理计算机的内存资源,包括内存分配、回收以及内存保护等。确保各个进程能够安全、高效地使用内存。

- 文件系统管理:负责文件的存储、检索、修改和保护。文件系统提供了一种层次化的目录结构,方便用户和应用程序对文件进行管理和操作。

1.3 分类

- 批处理操作系统:用户将作业提交给系统操作员,系统操作员将多个作业组成一批,依次执行。适用于计算量大、不需要交互的任务。

- 分时操作系统:将CPU时间划分成时间片,轮流分配给各个交互型作业使用。用户可以通过终端与系统进行交互,及时获得响应。

- 实时操作系统:能在规定的时间内对外部事件做出响应,主要用于对时间要求严格的控制系统,如工业控制、航空航天等领域。

1.4 常见操作系统特点与应用场景

- Windows:具有图形化用户界面,易于使用,软件资源丰富,广泛应用于个人计算机和办公领域。

- Linux:开源、高度可定制,具有良好的稳定性和安全性,常用于服务器、云计算以及嵌入式系统等。

- macOS:基于Unix,拥有简洁美观的界面和良好的用户体验,主要应用于苹果公司的Mac系列电脑,在创意设计领域有较高的市场份额。

二、状态机概念及在操作系统中的应用

2.1 基本定义

- 状态(State):系统在某一时刻的状况,一个状态机可以包含多个状态。

- 状态转换(Transition):系统从一个状态转移到另一个状态的过程,通常由特定的事件触发。

- 事件(Event):能够引起状态转换的外部或内部刺激。

2.2 在操作系统中的应用场景 - 进程状态转换

- 就绪(Ready):进程已获得除CPU以外的所有必要资源,等待被调度执行。

- 运行(Running):进程正在CPU上执行。

- 阻塞(Blocked):进程因等待某一事件(如I/O操作完成)而暂时无法执行。

当进程被创建时,进入就绪状态;调度程序将就绪队列中的进程调度到CPU上执行,进程进入运行状态;运行中的进程如果需要等待I/O操作完成,会进入阻塞状态;当I/O操作完成后,阻塞的进程又会回到就绪状态。

三、Python语言基础

3.1 数据类型

- 整数(int):用于表示整数,如1、2、3等。

- 浮点数(float):用于表示小数,如1.23、3.14等。

- 字符串(str):用于存储文本数据,用单引号或双引号括起来,如'hello'、"world"。

- 列表(list):一种有序的可变序列,可以包含不同类型的数据,如[1, 'apple', 3.14]。

- 字典(dict):一种无序的键值对集合,用于存储和查找数据,如{'name': 'John', 'age': 25}。

3.2 基本语法

- 循环:使用 

你可能感兴趣的:(理科生的接解OS之路,python)