别只做CRUD程序员,收下这篇操作系统干货(一)!

简介: 别只做CRUD程序员,收下这篇操作系统干货(一)!

别只做CRUD程序员,收下这篇操作系统干货(一)!

一、操作系统概念

1.计算机系统组成

任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件。


计算机硬件通常是由中央处理机(运算器和控制器)、存储器、输入设备和输出设备等部件组成。

计算机软件包括系统软件和应用软件。系统软件如操作系统、多种语言处理程序( 汇编和编译程序等 )、连接装配程序、系统实用程序、多种工具软件等; 应用软件为多种应用目的而编制的程序。


2.操作系统的非形式定义

操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用

二、操作系统的发展

  • 手工操作阶段
  • 简单批处理系统(早期,联机/脱机)
  • 多道程序批处理系统
  • 分时操作系统
  • 实时操作系统

三、操作系统的基本类型

根据其使用环境和对作业处理方式,操作系统的基本类型有:

(1) 批处理操作系统(batch processing operating system)

20200907114803228.png

(2) 分时操作系统(time sharing operating system)

分时系统一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。具有下述特点:


交互性:首先, 用户可以在程序动态运行情况下对其加以控制。其次,用户上机提交作业方便。第三,分时系统还为用户之间进行合作提供方便。

多用户同时性:多个用户同时在自己的终端上上机,共享CPU和其他资源,充分发挥系统的效率。

独立性:客观效果上用户彼此间感觉不到有别人也在使用该台计算机,如同自己独占计算机一样。

UNIX是最流行的一种多用户分时操作系统。


(3) 实时操作系统(real time operating system)

实时系统的主要特点是提供即时响应和高可靠性。系统必须保证对实时信息的分析和处理的速度比其进入系统的速度要快,而且系统本身要安全可靠。实时系统往往具有一定的专用性。大多数用于嵌入式计算中。与批处理系统、分时系统相比,实时系统的资源利用率可能较低。


(4) 个人计算机操作系统(personal computer operating system)

个人计算机上的操作系统是一联机的交互式的单用户操作系统,它提供的联机交互功能与通用分时系统所提供的很相似。由于是个人专用,因此在多用户和分时所要求的对处理机调度、存储保护方面将会简单得多。


(5) 网络操作系统(network operating system)

计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。

网络操作系统的研制开发是在原来各自计算机操作系统的基础上进行的。按照网络体系结构的各个协议标准进行开发,包括网络管理、通信、资源共享、系统安全和多种网络应用服务等达到上述诸方面的要求。


(6) 分布式操作系统(distributed operating system)

分布式系统也可以定义为通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。


四、操作系统的基本特性

并发性、共享性、虚拟技术、异步性

五、操作系统的主要功能

1、处理机管理功能

在多道程序或多用户的情况下,要组织多个作业同时运行,就要解决对处理机分配调度策略分配实施和资源回收等问题。

2、存储器管理功能

存储管理的主要工作是对内部存储器进行分配、保护和扩充。

(1) 内存分配。如何分配内存,以保证系统及各用户程序的存储区互不冲突。

(2) 存储保护。保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序。

(3) 内存扩充。当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。

3、设备管理功能

(1) 通道、控制器、输入输出设备的分配和管理。设备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术。

(2) 设备独立性。输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。

4、文件管理功能

信息管理(文件系统管理) 是对系统的软件资源的管理。信息的共享、保密和保护,也是文件系统所要解决的。如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制。还要有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏。也就是说,系统是安全可靠的

5、接口功能

操作系统还为用户提供一个友好的用户接口。

程序接口,即提供一组广义指令(或称系统调用、程序请求)供用户程序和其他系统程序调用。当这些程序要求进行数据传输、文件操作或有其他资源要求时,通过这些广义指令向操作系统提出申请,并由操作系统代为完成。

作业接口,提供一组控制操作命令(或称作业控制语言,例如UNIX中的Shell命令语言)供用户去组织和控制自己作业的运行。作业控制方式分两大类:脱机控制和联机控制。操作系统提供脱机控制作业语言和联机控制作业控制语言。


相关文章
|
7月前
|
存储 算法 Java
针对java程序员的了解细节操作系统与进程
针对java程序员的了解细节操作系统与进程
|
存储 程序员 调度
别只做CRUD程序员,收下这篇操作系统干货(二)——进程管理!
别只做CRUD程序员,收下这篇操作系统干货(二)——进程管理!
152 0
别只做CRUD程序员,收下这篇操作系统干货(二)——进程管理!
|
存储 数据可视化 中间件
程序员需要了解的硬核知识之操作系统和应用(二)
这是 Java 建设者的第 45 篇原创文章 利用计算机运行程序大部分都是为了提高处理效率。例如,Microsoft Word 这样的文字处理软件,是用来提高文本文件处理效率的程序,Microsoft Excel 等表格计算软件,是用来提高账本处理效率的程序。这种为了提高特定处理效率的程序统称为 应用 程序员的工作就是编写各种各样的应用来提高工作效率,程序员一般不编写操作系统,但是程序员编写的应用离不开操作系统,此篇文章我们就针对 Windows 操作系统来说明一下操作系统和应用之间的关系。
129 0
程序员需要了解的硬核知识之操作系统和应用(二)
|
监控 Java 程序员
程序员需要了解的硬核知识之操作系统和应用(一)
这是 Java 建设者的第 45 篇原创文章 利用计算机运行程序大部分都是为了提高处理效率。例如,Microsoft Word 这样的文字处理软件,是用来提高文本文件处理效率的程序,Microsoft Excel 等表格计算软件,是用来提高账本处理效率的程序。这种为了提高特定处理效率的程序统称为 应用 程序员的工作就是编写各种各样的应用来提高工作效率,程序员一般不编写操作系统,但是程序员编写的应用离不开操作系统,此篇文章我们就针对 Windows 操作系统来说明一下操作系统和应用之间的关系。
88 0
程序员需要了解的硬核知识之操作系统和应用(一)
|
存储 小程序 Java
程序员需要了解的硬核知识之操作系统入门
本篇文章作为操作系统的入门文章,可能入门都算不上吧,毕竟操作系统太庞大和复杂了。本篇文章主要带你了解一下我们常用的操作系统环境。
126 0
程序员需要了解的硬核知识之操作系统入门
|
Java 程序员 Windows
程序员需要了解的硬核知识之操作系统和应用(二)
这是 Java 建设者的第 45 篇原创文章 利用计算机运行程序大部分都是为了提高处理效率。例如,Microsoft Word 这样的文字处理软件,是用来提高文本文件处理效率的程序,Microsoft Excel 等表格计算软件,是用来提高账本处理效率的程序。这种为了提高特定处理效率的程序统称为 应用 程序员的工作就是编写各种各样的应用来提高工作效率,程序员一般不编写操作系统,但是程序员编写的应用离不开操作系统,此篇文章我们就针对 Windows 操作系统来说明一下操作系统和应用之间的关系。
92 0
|
存储 算法 安全
程序员面试必问系列之操作系统(二)
程序员面试必问系列之操作系统(二)
150 0
程序员面试必问系列之操作系统(二)
|
消息中间件 资源调度 算法
程序员面试必问系列之操作系统(一)
程序员面试必问系列之操作系统(一)
153 0
程序员面试必问系列之操作系统(一)
|
存储 设计模式 算法
【操作系统入门篇】程序员的“基础五大件”之一
据说程序员基础要学习的五大件是:数据结构与算法,计算机网络,操作系统,计算机组成原理,设计模式。这篇博客是我开的操作系统专栏的第一篇,也是入门篇,主要是一些关于操作系统的基础的东西。
【操作系统入门篇】程序员的“基础五大件”之一
|
2天前
|
存储 Linux C语言
Linux:冯·诺依曼结构 & OS管理机制
Linux:冯·诺依曼结构 & OS管理机制
11 0