上一节: 操作系统 - 教程
上一节
下一节: 操作系统 - 类型
下一节
操作系统 - 概述
简述
Operating System(OS) 是计算机用户和计算机硬件之间的接口。操作系统是一种软件,它执行所有基本任务,如文件管理、内存管理、进程管理、处理输入和输出,以及控制磁盘驱动器和打印机等外围设备。
操作系统是使应用程序能够与计算机硬件交互的软件。包含操作系统核心组件的软件称为kernel.
的主要目的Operating System是使应用程序(spftwares)能够与计算机的硬件交互并管理系统的硬件和软件资源。
一些流行的操作系统包括 Linux 操作系统、Windows 操作系统、VMS、OS/400、AIX、z/OS 等。如今,操作系统几乎可以在手机、个人计算机、大型计算机、汽车、电视等所有设备中找到, 玩具等
定义
我们可以有许多操作系统的定义。让我们来看看其中的几个:
操作系统是支持计算机基本功能的低级软件,例如调度任务和控制外围设备。
我们可以将这个定义细化如下:
操作系统是充当用户和计算机硬件之间的接口并控制各种程序的执行的程序。
以下是取自维基百科的另一个定义:
操作系统(OS)是管理计算机硬件、软件资源并为计算机程序提供通用服务的系统软件。
架构
我们可以绘制一个操作系统的通用架构图,如下所示:
操作系统历史
操作系统多年来一直在发展。我们可以根据不同的世代对这个评估进行分类,简述如下:
第0代
第0代一词用于指代查尔斯·巴贝奇(Charles Babbage)发明分析引擎和后来的约翰·阿塔纳索夫(John Atanasoff)于1940年创造计算机的计算发展时期。这一时期的硬件组件技术是电子真空管。这一代计算机没有可用的操作系统,计算机程序是用机器语言编写的。这一代计算机效率低下,并且依赖于作为操作员的个体程序员的不同能力。
第一代(1951-1956)
第一代标志着商业计算的开始,包括在 1951 年初推出的 Eckert 和 Mauchly 的 UNIVAC I,以及稍晚一点的 IBM 701。
系统操作是在专家操作员的帮助下进行的,并且有一段时间没有操作系统的好处,尽管程序开始用更高级别的、面向过程的语言编写,因此操作员的日常工作得到了扩展。后来开发了单程序操作系统,它消除了运行工作中的一些人为干预,并为程序员提供了许多理想的功能。这些系统仍然在人类操作员的控制下继续运行,该操作员过去常常遵循许多步骤来执行程序。像 FORTRAN 这样的编程语言是由 John W. Backus 在 1956 年开发的。
第二代(1956-1964)
第二代计算机硬件最显着的特点是晶体管取代真空管作为硬件组件技术。第一个操作系统 GMOS 是由 IBM 计算机开发的。GMOS是基于单流批处理系统,因为它将所有相似的作业分组或批量收集,然后使用打孔卡将作业提交给操作系统,以完成一台机器中的所有作业。操作系统在完成一项作业后被清理,然后继续读取并启动穿孔卡中的下一项作业。
研究人员开始在他们的称为分时系统的计算服务中试验多道程序和多处理。一个值得注意的例子是 1960 年代初期在 MIT 开发的兼容时间共享系统 (CTSS)。
第三代(1964-1979)
第三代正式开始于 1964 年 4 月 IBM 宣布其 System/360 系列计算机。硬件技术开始使用集成电路 (IC),这在速度和经济性方面都具有显着优势。
随着多道程序的引入和广泛采用,操作系统的开发继续进行。更充分地利用计算机的数据通道 I/O 功能的想法不断发展。
导致第四代个人计算机发展的另一个进展是使用 DEC PDP-1 的小型计算机的新发展。第三代确实是一个激动人心的时刻,对于计算机硬件和相应操作系统的发展而言。
第四代(1979 年至今)
第四代的特点是个人电脑和工作站的出现。第三代组件技术被超大规模集成(VLSI)所取代。我们今天使用的许多操作系统,如第四代开发的 Windows、Linux、MacOS 等。
以下是操作系统的一些重要功能。
内存管理
处理器管理
设备管理
文件管理
网络管理
安全
控制系统性能
工作会计
错误检测辅助
其他软件和用户之间的协调
内存管理
内存管理是指对主内存或主内存的管理。主存储器是一个大的字或字节数组,其中每个字或字节都有自己的地址。
主存储器提供了一个快速的存储空间,可以由 CPU 直接访问。对于要执行的程序,它必须在主存储器中。操作系统为内存管理执行以下活动 -
跟踪主存储器,即它的哪一部分被谁使用,哪一部分没有使用。
在多道程序设计中,操作系统决定哪个进程将在何时以及获得多少内存。
当进程请求它时分配内存。
当进程不再需要或已终止时取消分配内存。
处理器管理
在多道程序环境中,操作系统决定哪个进程在何时以及多长时间内获得处理器。这个函数被称为process scheduling. 操作系统为处理器管理执行以下活动 -
跟踪处理器和进程状态。负责此任务的程序称为traffic controller.
将处理器 (CPU) 分配给进程。
当不再需要进程时取消分配处理器。
设备管理
操作系统通过各自的驱动程序管理设备通信。它为设备管理执行以下活动 -
跟踪所有设备。负责此任务的程序称为I/O controller.
决定哪个进程获取设备的时间和时间。
以有效的方式分配设备。
取消分配设备。
文件管理
文件系统通常组织成目录以便于导航和使用。这些目录可能包含文件和其他方向。
操作系统为文件管理执行以下活动 -
跟踪信息、位置、用途、状态等。集体设施通常被称为file system.
决定谁获得资源。
分配资源。
取消分配资源。
其他重要活动
以下是操作系统执行的一些重要活动 -
安全− 通过密码和其他类似技术,防止未经授权访问程序和数据。
系统性能控制− 记录服务请求和系统响应之间的延迟。
作业统计− 跟踪各种工作和用户使用的时间和资源。
错误检测辅助工具− 生成转储、跟踪、错误消息以及其他调试和错误检测辅助工具。
其他软件和用户之间的协调− 为计算机系统的不同用户协调和分配编译器、解释器、汇编器和其他软件。
上一节: 操作系统 - 教程
上一节
下一节: 操作系统 - 类型
下一节
查看笔记 分享笔记
笔记内容:
称呼:
Email:
站点:
分享笔记 重置
分类导航
前端
Ajax 教程
Angular 教程
Aurelia 教程
Bootstrap 教程
ChartJS 教程
CSS 教程
ES6 教程
FontAwesome 教程
HTML 教程
HTML 字符集 教程
HTML 游戏 教程
JavaScript 教程
jQuery 教程
Less 教程
React 教程
Sass 教程
Stylus 教程
TypeScript 教程
Unity 教程
Vue.js 教程
WebAssembly 教程
XAML 教程
颜色 教程
服务端
C# 教程
C++ 教程
COBOL 教程
C语言 教程
Fortran 教程
Go 教程
Groovy 教程
Java 教程
JSP 教程
JVM 教程
Kotlin 教程
Lisp 教程
Lua 教程
Node.js 教程
Pascal 教程
Perl 教程
PHP 教程
Python 教程
Python 3 教程
Ruby 教程
Rust 教程
Scala 教程
Spring 教程
Spring Boot 教程
Spring Cloud 教程
VB.Net 教程
移动端
Android 教程
IOS 教程
Objective-C 教程
React Native 教程
Swift 教程
小程序 教程
数据库
Access 教程
DB2 教程
Mariadb 教程
Memcached 教程
MongoDB 教程
MySQL 教程
Neo4j 教程
PL/SQL 教程
PostgreSQL 教程
Redis 教程
SQL 教程
SQL Server 教程
SQLite 教程
T-SQL 教程
数据格式
Jackson 教程
JSON 教程
SVG 教程
XML 教程
开发工具
ActiveMQ 教程
Ant 教程
Apache HttpClient 教程
Apache POI PPT 教程
AWS 教程
Docker 教程
ElasticSearch 教程
ExpressJS 教程
GIT 教程
GitLab 教程
Google Maps 教程
Gradle 教程
Java NIO 教程
JavaFX 教程
JavaMail 教程
JDBC 教程
jMeter 教程
JPA 教程
jsoup 教程
Junit 教程
KoaJS 教程
Kubernetes 教程
Log4j 教程
Logstash 教程
Lucene 教程
Makefile 教程
Maven 教程
RESTful 教程
Sed 教程
SEO 教程
Servlet 教程
SLF4J 教程
Socket.IO 教程
Struts 教程
SVN 教程
TestNG 教程
UML 教程
UNIX / LINUX 教程
WebSocket 教程
WPF 教程
xStream 教程
区块链 教程
数据处理
Flink 教程
Flume 教程
Hadoop 教程
Hbase 教程
Hive 教程
Kafka 教程
Kibana 教程
MapReduce 教程
MATLAB 教程
MyBatis 教程
Pig 教程
R语言 教程
Solr 教程
Spark 教程
Storm 教程
Zookeeper 教程
大数据分析 教程
数据仓库 教程
数据挖掘 教程
计算机基础
HTTP 教程
IPv4 教程
IPv6 教程
Ubantu 教程
WebServices 教程
嵌入式系统 教程
操作系统 教程
数据结构和算法 教程
汇编语言 教程
物联网 教程
电子电路基础 教程
编译器设计 教程
网站开发 教程
计算机 教程
计算机基础 教程
计算机网络 教程
设计模式 教程
AI
CNTK 教程
Keras 教程
PyTorch 教程
TensorFlow 教程
人工智能 教程
机器学习 教程
Python 技术
Django 教程
Flask 教程
NumPy 教程
Pandas 教程
Pillow 教程
PyGTK 教程
PyQt5 教程
PySpark 教程
pytest 教程
Python -数据科学 教程
Python MySQL 教程
Python 取证 教程
Python 数据结构 教程
Python 文本处理 教程
Python 网络编程 教程
Python 网页抓取 教程
Python 设计模式 教程
RxPY 教程
SciPy 教程
Seaborn 教程
SymPy 教程
wxPython 教程
框架
Laravel 教程
Web 图标Icon 教程
Web2py 教程
WebGL 教程
WebRTC 教程
WordPress 教程
Yii 教程
Zend Framework 教程
SAP
Crystal Reports 教程