【操作系统基础概念】

此为自己学习课程的笔记,供自己复习用。

操作系统基础概念



前言

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

注意:程序执行前需要将该程序放到内存中,才能被CPU处理。 程序执行的过程就是CPU执行指令的过程

一、操作系统的功能

1、操作系统作为系统资源的管理者,提供以下四种管理功能:
(1)处理机管理
(2)存储器管理
(3)文件管理
(4)设备管理

2、操作系统向上层提供了方便易用的服务,分为直接给用户使用的(GUI图形化界面+命令接口)和给软件/程序员使用的。
(1)直接给用户使用的命令接口包括:

  • 联机命令接口(交互式命令接口):用户说一句,系统做一句
  • 脱机命令接口(批处理命令接口):用户说一堆,系统做一堆

(2)给软件/程序员使用的接口为程序接口,即一系列的系统调用。

3、操作系统可以实现对硬件机器的拓展,将硬件组合起来,并配合应用。

二、操作系统的四个特征

1.并发

并发:指两个或多个事件在同一时间间隔内发生。宏观上同时发生,微观上交替发生
并行:指两个或多个事件在同一时刻同时发生。

注意:

  • 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
  • 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行

2.共享

即资源共享,指系统中的资源可供内存中多个并发执行的进程共同使用。

有两种资源共享的方式:

  • 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
  • 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”(并发)对它们进行访问。

并发和共享互为存在条件,没有并发和共享就没有虚拟和异步。

3.虚拟

是指把一个物理上的实体变若干个逻辑上的对应物。

虚拟技术包括如下两种:

  1. 空分复用技术(如虚拟存储器技术)
  2. 时分复用技术(如虚拟处理器):微观上处理机在各个微小的时间段内交替着各个进程服务

4.异步

是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

三、操作系统的发展和分类

  1. 手工操作阶段
    人工部分占据了很长一段时间,而计算机处理的很快,用时很短。
  2. 批处理阶段
    单道批处理系统:引入了脱机输入输出技术,虽然缓解了人机速度的矛盾,但是资源利用率仍很低
    多道批处理系统:可以实现多道程序并发执行,提升了资源利用率,但是没有人机交互功能。
  3. 分时操作系统:提供了人机交互功能,但是不能优先处理紧急任务。
  4. 实时操作系统:能优先处理紧急任务。
    硬实时系统:必须在绝对严格的规定时间内完成处理
    软实时系统:能接受偶尔违反规定。
  5. 网络操作系统:可以实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。
  6. 分布式操作系统:具有分布性和并行性。
  7. 个人计算机操作系统

四、操作系统的运行机制

CPU上会运行两种程序:

  • 内核程序:是整个系统的管理者,它需要用到一些特权指令
  • 应用程序

程序运行的两种指令:

  • 特权指令:只有内核程序才能使用。
  • 非特权指令

操作系统有两种处理器状态:

  • 内核态/核心态/管态:正在执行内核程序
  • 用户态/目态:正在执行应用程序

一系列内核程序就组成了操作系统的内核,它是操作系统最重要最核心的部分。

操作系统实现状态的转变:

  • 内核态->用户态:一条修改PSW(程序状态字寄存器)的特权指令
  • 用户态->内核态:由中断引起,硬件自动完成,触发中断信号意味着操作系统将强行夺回CPU的使用权。

五、中断和异常

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序;「中断」是让操作系统内核夺回CPU使用权的唯一途径。

1、中断类型

  • 内中断:也被称为异常,与当前执行的指令有关,中断信号来源于CPU内部。
    ( 当前执行的指令是非法的,或者指令的参数是非法的,就会引发一个内中断信号)

有时应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令——陷入指令,该指令会引发一个内部中断信号

执行“陷入指令”,意味着应用程序主动地将CPU控制权还给操作系统内核。「系统调用」就是通过陷入指令完成的

异常」又分为以下三种:
(1)陷阱、陷入(trap):由陷入指令引发,是应用程序故意引发的。(这也是系统调用实现原理)
(2)故障(fault):由错误条件引起的,可能被内核程序修复。内核程序修复故障后会把 CPU使用权还给应用程序,让它继续执行下去。如:缺页故障。
(3)终止(abort):由致命错误引起,内核程序无法
修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。如:整数除0、非法使用特权指令等。

  • 外中断:与当前执行的指令无关,中断信号来源于CPU外部。
    (1)时钟中断:时钟部件每隔一个时间片(如50ms)会给CPU发送一个时钟中断信号
    (2)I/O中断:由输入/输出设备发来的中断信号

2、中断机制的基本原理

  • CPU首先会检查中断信号
    (1)内中断:CPU会在执行指令时检查是否有异常发生
    (2)外中断:每个指令周期末尾(即每执行一条指令之后),CPU都会检查是否有外中断信号需要处理
  • 然后通过查询“中断向量表”,找到相应的中断处理程序。

六、系统调用

1、含义

系统调用是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

操作系统向上提供系统调用,使上面的库函数、应用程序能够通过系统调用来请求操作系统内核的服务。在操作系统之上,各种各样的高级编程语言会用库函数的方式来封装系统调用,来向更上层的应用程序的程序员暴露更好用的接口。

注意:并不是所有的库函数在底层都需要使用系统调用。

2、为什么系统调用是必须的?

为了不同进程能够并发的运行,由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用共享资源,只能通过系统调用向操作系统内核发出请求。内核会对各个请求进行协调处理。

  • 因为系统资源是有限的,操作系统会对这些系统资源进行统一的管理分配。因此,凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

3、系统调用的过程

编程人员用高级编程语言编写代码,通过使用库函数来进行系统调用。具体来说:

  • 首先传递系统调用的参数
  • 然后执行陷入指令(在用户态执行),应用程序把CPU控制权主动交给了操作系统的内核,即会产生内中断。
  • 操作系统转向处理系统调用的内核程序,在核心态运行。
  • 处理完之后,它又会返回原来的应用程序,让应用程序接着往下执行。

注意:发出系统调用请求是在用户态,而对系统调用的相应处理核心态

陷入指令,又叫trap指令,还叫访管指令


  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux操作系统基础是指对Linux操作系统的基本概念、原理和操作方法的理解和掌握。作为一种开源的操作系统,Linux在人民邮电领域的应用广泛,具有安全稳定、高效性能和灵活自由等特点。 首先,Linux操作系统是一种基于UNIX的多用户、多任务操作系统,具有良好的稳定性和兼容性。它的核心是Linux内核,负责管理硬件资源、提供系统调用接口,通过内核的管理和调度,实现对计算机系统的各种资源的管理和分配。 其次,Linux操作系统采用了文件系统来组织和管理文件,提供了一套完整的权限控制机制,保护用户的数据安全,并通过目录树的方式方便用户进行文件的管理和查找。 此外,Linux操作系统支持多任务处理和进程管理,可以同时运行多个应用程序,并通过进程调度算法来合理地分配CPU资源,实现多任务的高效运行。 此外,Linux操作系统还提供了丰富的命令行工具和图形化界面,用户可以根据自己的需求选择命令行或图形界面进行操作。对于初学者来说,可以通过学习常用的命令,如ls、cd、cp、rm等,来进行文件和目录的操作。 最后,Linux操作系统广泛应用于人民邮电领域,如邮件服务器、文件服务器、安全防护设备等。由于其开源的特性,可以根据需求进行定制和扩展,满足不同场景的需求。 总之,掌握Linux操作系统基础知识对于人民邮电领域的从业人员来说是非常重要的。只有深入理解Linux操作系统的原理和机制,掌握常用的命令和工具,才能更好地进行系统管理和应用开发工作。 ### 回答2: Linux操作系统是一种开源的、免费的操作系统。它的核心是Linux内核,由芬兰人Linus Torvalds开发并于1991年首次发布。Linux操作系统的特点是稳定、安全、高效和灵活。它可以运行在各种硬件平台上,并且支持多任务处理和多用户操作。 Linux操作系统有许多变种,如Ubuntu、Fedora、Red Hat等,每个变种都有不同的特点和应用领域。人民邮电是一家相关IT领域的公司,在其日常的运维管理和服务器管理中,应用Linux操作系统非常普遍。 Linux操作系统基础包括以下几个方面: 1. 命令行操作:Linux操作系统的主要界面是命令行界面。学习Linux需要掌握一些基本的命令行操作,如文件和目录管理、进程管理等。 2. 文件系统:Linux操作系统使用了一种层级的、由根目录开始的文件系统结构。学习Linux需要了解文件系统的基本概念和操作方法,如文件和目录的权限、链接等。 3. 用户管理:Linux操作系统支持多用户操作,学习Linux需要了解用户的创建、删除和权限管理等操作。 4. 网络设置:Linux操作系统支持网络功能,学习Linux需要了解网络设置和配置,如IP地址、子网掩码、网关等。 5. 软件安装:Linux操作系统拥有庞大的软件仓库,可以通过包管理器来安装和升级软件。学习Linux需要了解软件包管理器的使用方法。 总之,学习Linux操作系统基础是非常重要的,它可以帮助我们更好地理解和使用Linux系统,在人民邮电等IT公司的工作中提高工作效率和技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值