《Python语言程序设计》——1.4 操作系统
本节书摘来自华章计算机《Python语言程序设计》一书中的第1章,第1.4节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.4 操作系统关键点:操作系统(OS)是计算机上运行的最重要的程序。操作系统管理和控制计算机的动作。
一般功能的计算机上流行的操作系统有微软Windows、Mac OS以及Linux。如果不在计算机上安装和运行操作系统,那么像网页浏览器或者字处理器这样的应用程序就不能运行。图1-10显示了硬件、操作系统、应用软件和用户之间的相互关系。
操作系统的主要任务是:
![6f5f7912fe1bb95a8909b21037eff1144e46e812](https://yqfile.alicdn.com/6f5f7912fe1bb95a8909b21037eff1144e46e812.png)
1.4.1 控制和管理系统行为
操作系统执行基本的任务,例如:识别来自键盘的输入,将输出结果发送给监视器,管理存储设备上的文件和文件夹,控制像磁盘驱动器和打印机这样的外部设备。操作系统还必须确保同时工作的不同程序和不同用户之间不会相互干扰。除此之外,操作系统还要负责安全问题,确保未经授权的用户和程序不能访问这个系统。
1.4.2 调度和分配系统资源
操作系统负责决定一个程序需要哪些计算机资源(例如:CPU时间、内存空间、磁盘、输入和输出设备)以及调度和分配这些资源来运行这个程序。
1.4.3 调度操作
操作系统负责调度程序的各种行为以充分利用系统资源。现在的很多操作系统都支持多程序设计、多线程以及多进程以提高系统性能。
多程序设计允许多个程序共享同一个CPU同步运行。CPU比计算机的其他组件更快些。这样,导致大多数时间CPU都是空闲的——例如:当等待从磁盘传送数据或者等待其他系统资源响应时。多程序设计操作系统利用这种情况,允许多个程序使用这个CPU的闲置时间。例如:多程序设计允许你使用子处理器来编辑文件的同时,你的网页浏览器也可以下载文件。
多线程允许单个程序同时执行多个任务。例如:字处理程序允许用户编辑文本的同时将它存储到磁盘上。在这个例子中,编辑和存储是同一个应用程序中的两个任务,这两个任务可能是同时运行的。
多进程,或者叫并行处理,使用两个或更多处理器一起完成同时发生的多个子任务,然后将这些子任务的解决方案组合在一起,获取整个任务的解决方案。这就像一个外科手术,几个医生协同工作医治同一个病人。
检查点
1.18 什么是操作系统?罗列出一些流行的操作系统。
1.19 操作系统的主要任务是什么?
1.20 什么是多程序设计、多线程和多进程?
相关文章
- Python之——python-nmap的安装与常用方法说明
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- python: easyocr的安装和使用(easyocr 1.6.2 / Python 3.7.15 )
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)
- 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略
- python语言编程:itertools.product的简介、使用方法(求笛卡尔积等)之详细攻略
- Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
- Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略
- Python制作读者下载器,实现随时随地免费看
- 太实用了,Schedule模块, Python 周期任务神器
- Python编程:shelve模块-持久化python数据
- Python编程:查看python环境支持的whl
- python派QQ邮件
- Python使用技巧(五):快速解决安装python-lxml模块库报错问题并简单使用
- 雅虎财经数据python 网络爬虫stock股票 用 Python 通过雅虎财经获取股票数据
- Python语言开发学习之使用Python预测天气
- 基于Python语言使用RabbitMQ消息队列(四)
- 设计模式(Python语言)----外观模式
- 设计模式(Python语言)----面向对象设计SOLID原则
- 2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题一python代码实现(更新完毕)
- 挑战一晚上从零入门lua语言,直接对标Python快速上手
- python 爬虫之路教程