文章目录

  • 操作系统的概念
  • 一、操作系统的功能和目标
    • 1.作为系统资源的管理者
    • 2.作为用户和计算机硬件之间的接口
    • 3.作为最接近硬件的层次
  • 二、操作系统的特征
    • 1.并发
    • 2.共享
    • 3.虚拟
    • 4.异步
  • 三、操作系统的发展和分类
    • 1.手工操作阶段
    • 2.单道批处理阶段
    • 3.多道批处理阶段
    • 4.分时操作系统
    • 5.实时操作系统
    • 6.网络操作系统
    • 7.分布式操作系统
    • 8.个人计算机操作体系
  • 四、运行机制
    • 指令
    • 处理器状态
    • 两种程序
  • 五、操作系统内核
  • 六、中断和异常
  • 六、系统调用
    • 系统调用和库函数的区别
    • 系统调用背后的过程

操作系统的概念

1)操作系统是控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机工作和资源分配,以2)提供给用户和其他软件方便的接口环境,他是计算机系统中最基本的3)系统软件。
(三个需要注意的点)

一、操作系统的功能和目标

1.作为系统资源的管理者

2.作为用户和计算机硬件之间的接口

3.作为最接近硬件的层次


功能和目标:实现对硬件机器的扩展
没有任何软件支持的计算机称为裸机,在裸机上安装操作系统,可以提供资源管理功能和方便用户的服务功能。
通常把覆盖了软件的机器称为扩充机器,或虚拟机。

二、操作系统的特征

1.并发

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

2.共享

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

所谓“同时”往往是宏观的,微观上,可能交替地对资源进行访问。

3.虚拟

虚拟是指把一个物理实体变为若干逻辑上的对应物。物理(实体)是实际存在的,而逻辑上对应物是用户感受到的。

4.异步

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

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

1.手工操作阶段

2.单道批处理阶段


引入了脱机输入/输出技术(用磁带完成),并监督程序负责作业的输入和输出

3.多道批处理阶段


用户每次往内存中输入多道程序
操作系统正式诞生,并且引入了中断技术,由操作系统负责管理这些程序的运行

4.分时操作系统


计算机以时间片为单位轮流为各个用户/作业服务

5.实时操作系统

6.网络操作系统

7.分布式操作系统

8.个人计算机操作体系

四、运行机制

指令

指令:处理机(CPU)能识别、执行的最基本命令

处理器状态

两种程序

五、操作系统内核

六、中断和异常


内中断另一个分类

发生中断就意味着需要操作系统介入,开展管理工作。
由于操作系统的管理工作(如进程切换、分配I/O设备等)需要特权指令,因此CPU需要从用户态转为和核心态,中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。
有了中断,才能实现多道程序的并发执行。

用户态—>核心态是通过中断来实现,并且中断是唯一的途径
核心态->用户态的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为“用户态”

六、系统调用

操作系统提供“系统调用”功能,用户进程想要使用打印机这种共享资源时,只能通过系统调用向操作系统发出请求,操作系统会对各个请求进行协调管理。

应用程序通过系统调用请求操作系统的服务、系统中的各种共享资源都由操作系统同一掌管。因此在用户程序中,凡是与资源有关的操作(内存分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,这样可以保证系统的稳定性和安全性。

系统调用相关处理涉及到对资源系统的管理、对进程的控制,这些功能需要执行一些特权指令才能完成。因此系统调用相关处理需要在核心态完成。

系统调用和库函数的区别

普通应用程序 可以直接进行系统调用,也可以使用库函数。有的库函数涉及系统调用(“创建一个新文件”),有的不涉及(“数学函数MAX”)。
编程语言 向上提供库函数,有时会将系统调用封装成库函数,以隐藏系统调用的一些细节,使上层进行系统调用更方便
操作系统 向上提供系统调用,隐藏物理细节

系统调用背后的过程

  1. 系统传递调用参数
  2. 执行陷入指令(用户态)
  3. 执行系统调用的相应服务程序(核心态)
  4. 返回应用程序

注意

  1. 陷入指令是在用户态执行的,执行陷入指令后立即引发一个内中断,从而CPU进入核心态
  2. 发出系统调用请求是在用户态,而对系统调用的相应处理是在核心态下进行
  3. 陷入指令是唯一一个只能在用户态执行,而不能在核心态执行的指令

操作系统的基本概念|操作系统相关推荐

  1. 考研操作系统【1.1 操作系统的基本概念】

    文章目录 前言 笔记 习题总结 前言 ✨本篇为博主 考研操作系统 的第一篇:1.1 操作系统的基本概念 本篇博客内容来自:

  2. 计算系统和计算机系统是同一个概念嘛,计算机操作系统的基本概念

    计算机操作系统的基本概念 5.操作系统操作 *双重模式操作*: 为了确保操作系统地正常执行,必须区分操作系统代码和用户定义代码的执行.许多操作系统所采取的方法是提供硬件支持以允许区分各种执行模式. 至 ...

  3. (一)操作系统的基本概念

    文章目录 一.操作系统的概念 1.什么是操作系统? 2 计算机系统的构成 3 系统软件的概念 4 操作系统的主要作用 二.操作系统目标和功能 1. 目标 1.1 有效性 1.2 方便性 1.3 可扩充 ...

  4. 嵌入式实时操作系统的基本概念

    第一章 嵌入式实时操作系统的基本概念 1.1计算机操作系统 1.计算机是一种功能强大的数字运算装置,由中央微处理器(CPU),存储器,接口及外部设备等物理装置构成,构成计算机的物理装置即硬件系统. 2 ...

  5. csf计算机课程,来个操作系统的-[哈工大][操作系统][44讲][csf]

    来个操作系统的-[哈工大][操作系统][44讲][csf]benguayang 免费考研论坛/2005-05-13 原文内容来自免费考研论坛,请点击查看全文 http://bbs.freekaoyan ...

  6. 《操作系统》- 操作系统的基本概念

    目录 一.操作系统的概念 1.1 操作系统的分类 1.2 计算机系统的构成 1.3 操作系统都做了哪些事 二.操作系统的目标和功能 2.1 操作系统的目标 2.2 操作系统的功能 三.操作系统的特征 ...

  7. 【操作系统】第一话·操作系统的基本概念

  8. 深入理解计算机系统(1.3)---金字塔形的存储设备、操作系统的抽象概念

    本文转载地址:http://www.cnblogs.com/zuoxiaolong/p/computer3.html 上一章LZ给各位展示了一下hello程序的简单执行过程,可以看出在这一过程当中,系 ...

  9. 嵌入式操作系统的基本概念

    一什么是嵌入式系统 嵌入式系统一般指非pc系统,有计算机功能但又不称之为计算机的设备或器材.它是以应用为中心,软硬件可裁减的,适应应用系统对功能.可靠性.成本.体积.功耗等综合性严格要求的专用计算机系 ...

最新文章

  1. f150platinum_新款福特F150PLATINUM精英版皮卡超强越野实力展示
  2. 深夜文献:2021腾讯科技WE大会硬核复习资料,看看如何烧脑?
  3. EasyUI权限系统
  4. Xamarin iOS教程之申请付费开发者账号下载证书
  5. HashSet,TreeSet和LinkedHashSet的区别
  6. Spring Cloud Config服务端配置细节(一)
  7. BZOJ1925: [Sdoi2010]地精部落
  8. 怎样在数据绑定到DATAGRID之前,先判断其中一个字段是否为空?
  9. 她说:程序员离开电脑就是 “废物” !
  10. mysql global_MySQL设置global变量和session变量的两种方法详解
  11. php7 switch,Switch autocommit on or off - PHP 7 中文文档
  12. 酒店计算机管理系统维护合同,酒店计算机管理系统维护合同协议书范本(4页)-原创力文档...
  13. <EDEM 常见问题01>EDEM 2018-Fluent 17.0 耦合接口编译(快速上手版)
  14. 【科研分享】推荐系统SCI顶会及顶级期刊 更新于2022-07-13
  15. 【毕业设计】深度学习 python opencv 实现人脸年龄性别识别
  16. 新版Uniapp开发多端影视APP源码+对接苹果CMS
  17. 服务器修复oxc0000098,Win10系统无法开机0xc0000098错误怎么办_win10无法开机提示0xc0000098错误代码如何修复...
  18. 3D建模教程讲解!PBR场景制作破损的图书馆
  19. 我在乐视9年,亲眼看贾跃亭一步步走向失控
  20. escape的主要用途

热门文章

  1. linux 动画软件,免费开源的 2D 动画软件
  2. GRO checksum在tcpdump中incorrect的问题
  3. 人生在世究竟是为了什么
  4. Oracle 层级数据计算方式start with connect by
  5. linux分区表mbr改gtp,免重装系统 手把手教你MBR转GPT分区表
  6. 【Redis】实现附近人功能
  7. Microsoft Office 全家桶下载地址
  8. 使用jstack(jstack是用于调试线程间的关系,解决阻塞,锁等问题)定位由死循环引起的cpu负载飙高或者死锁
  9. 外贸客户电话和邮件地址的收集
  10. Shell中判断字符串是否为数字的6种方法