.,,主讲老师:欧阳坚,欢迎您到(千锋学院)来学习!操作系统概述,.,内容摘要,操作系统概念系统调用与库函数系统调用实现进程概念介绍Unix文件系统介绍,.,基础知识,熟悉掌握高级编程语言C语言最好理解java与jvm基本的数据结构知识熟悉链表,队列,栈,树计算机组成原理从程序员角度看体系结构,x86,arm了解计算机存储系统,.,操作系统定义,目前没有一个普遍接受的定义操作系统就是一直运行在计算机硬件上的一个程序操作系统运行在软硬件中间,把他们整合到一起操作系统由哪些功能模块级成?微软的IE浏览器?,.,操作系统的任务,管理控制硬件设备,分配资源多个CPU通过总线连接到共享内存,要竞争内存周期控制硬件设备正常工作:初始化,读写,关闭有效的利用硬件资源:充分发挥性能,优化用户请求为程序提供运行环境,管理用户程序作为硬件和应用程序之间的中介各个相关程序之间互相协作各个不同程序之间互不干扰不同类型系统注重的方面各不一样大型机上注重硬件资源利用率,多个用户共同使用PC提供多种应用服务,更多的完成用户的任务,单用户体验好手持设备上侧重方便友好的使用和省电控制设备上的系统侧重实时性,.,操作系统内核,狭义的操作系统指内核进程管理进程线程管理CPU调度同步互斥,防止死锁存储管理主存分配,保护虚存映射和管理文件管理:创建,删除设备管理:初始化,读写输入\输出管理,.,Posix标准,Protableoperatingsysteminterface一套操作系统的标准,主要在基于Unix的系统上实现Linux,Solaries,MacOsXPosix.1:Posix核心Posix1.b:实时系统扩展Posix1.c:Pthread,.,系统功能调用和库函数,系统功能调用(systemcall)作为上层和内核之间的接口,是内核为上层应用提供的服务库函数是标准C库(glibc,newlib)或多媒体库,用户线程库,Qt库等为应用程序提供的服务,可能利用系统调用实现,.,系统功能调用和库函数,应用程序可用的资源自定义实现函数调用标准C库调用系统功能调用注意1:尽量利用标准C库简洁高效可移植注意2:内核程序不能用C库部分C库函数需要内核实现,.,系统功能调用,为了实现保护,系统分为内核态和用户态一般需要硬件支持,与架构相关内核代码在内核态,有特权用户代码在用户态,一般权限用户程序都在用户态怎么访问需要特权的资源呢?通过内核接口:系统调用!Linux上通过80h中断来实现,.,CPU中断,系统从rom内的bootstrap开始启动,把内核读取到内存,分配好内存,初始化硬件和其它内核需要的资源创建第一个进程init,然后等待事件发生设备或软件随时可以触发中断,产生事件,.,CPU中断,由软件触发的中断叫软中断或系统调用(systemcallormonitorcall)每个设备有一个中断号,中断发生时发给CPU,叫中断向量中断是机器架构相关,具体实现都不一样发生中断后,关中断CPU停止当前的任务并保存现场:程序计数器,各个寄存器等根据中断向量找到一个固定的中断处理函数开中断执行中断处理函数中断处理函数返回,关中断恢复现场:程序计数器,各个寄存器;开中断继续向下执行系统启动过程中要关中断,并初始化中断向量表和处理函数,.,系统功能调用,系统调用的过程用户代码执行调用系统调用result=system_call(arg_list)按照调用规则把参数压栈系统功能号放入寄存器调用int80h使用CPU响应中断进入内核态,中断处理函数找到相应的系统功能函数入口执行从用户空间复制所需数据系统功能函数执行完成,返回用户态用户程序调用返回,得到返回值,继续执行,.,系统功能调用,.,系统功能调用,过程复杂,时间开销较大,不适合频繁使用CPU处理中断花时间切换进程属性过程花时间使用数据缓冲,以减少调用次数尽量使用C库中不需要系统功能调用的函数需要系统功能调用时,C库会缓冲调用者请求,一次调用完成比如:IO库函数,在遇到换行之前的输入输出数据出不来图形库会把用户的多次屏幕请求,一次刷新消除闪烁一定程度上损失实时性提高性能和良好的用户体验类比:数据库编程把多条sql语句一次执行,硬盘接口缓冲数据,.,进程和文件,Unix中最重要的两个概念:进程与文件进程侧重代码执行文件侧重数据存放进程从fork开始到_exit结束文件从open/create开始到unlink结束,.,Unix文件,Unix系统中,所有东西都看作文件普通文件:数据文件,可执行程序,格式由处理程序解释目录文件:包含子目录和文件指针及其相关的信息设备文件:字符设备文件(串口),块设备文件(磁盘)管道(FIFO):进程间通信的通道套接口(socket):用于进程间的网络通信符号连接(Symboliclink):指向另一个文件Unix中的IO函数无缓冲的系统功能调用带缓冲和优化的C库IO函数,.,Unix文件系统结构,所有的文件按照目录和文件组成树形结构,文件是叶结点,.,其他问题?,

展开阅读全文

C语言系统功能的描述,C语言20操作系统介绍ppt课件相关推荐

  1. 计算机c程序题孔融让梨,幼儿园大班语言游戏教案《孔融让梨》含PPT课件.doc

    幼儿园大班语言游戏教案<孔融让梨>含PPT课件 [活动目标] 1.通过理解故事内容,懂得谦让的道理. 2.培养幼儿良好的倾听习惯. [活动准备] 食物两个梨子,动画视频,ppt课件. 推荐 ...

  2. c语言拆字程序2000h单元,《C51运算符》PPT课件.ppt

    <<C51运算符>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<C51运算符>PPT课件.ppt(22页珍藏版)>请在装配图网上搜索. 1.单 ...

  3. 列举c语言的算法描述,C语言算法

    在 编程 纳入必修课的趋势下,程序设计或App设计已是大部分学生必须具备的能力.而数据结构及其算法更是用来培养程序设计逻辑的基础理论,也是有志从事IT行业人员既基础又核心的课程. 本书采用丰富的图例来 ...

  4. c语言程序设计语言描述,C语言程序设计题目描述(详).txt

    C语言程序设计题目描述(详).txt C01 pow1.05,n include void main float y1.05; int n1; FILE *p; /* * * * * * */ fpr ...

  5. 硬件描述语言与c语言函数,计算机硬件描述语言(VHDL)与编程语言(C语言)的区别及关系,...

    计算机硬件描述语言(VHDL)与编程语言(C语言)的区别及关系,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 计算机硬 ...

  6. ebnf描述c语言语句结构,EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则...

    Presentation on theme: "EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构:并用操作语义的方法描述对应的语义规则"- Pre ...

  7. java语言的数组描述_下列关于Java语言的数组描述中,错误的是()。_学小易找答案...

    [单选题]下面()是正确的main()方法说明. [填空题]Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且参数的( )和类型以及( )的类型也相同,则父类中的同名成员方法被屏蔽 ...

  8. [编译原理学习笔记2-2] 程序语言的语法描述

    [编译原理学习笔记2-2] 程序语言的语法描述 文章目录 [编译原理学习笔记2-2] 程序语言的语法描述 [2.3.1] 上下文无关文法 [2.3.2] 语法分析树与二义性 [2.3.3] 形式语言鸟 ...

  9. SAP PO中物料描述的语言设置

    在采购订单的日常业务中,对于物料描述的语言会有不同的要求,如对于国内供应商,显示物料的中文描述:对于国外供应商,显示物料的英文描述.该物料描述可以根据不同的要求显示不同的语言,控制点如下图所示: ME ...

最新文章

  1. (一)硕博生常用的中文文献检索方式推荐
  2. python第七章动手试一试_Python学习3
  3. html修改上传文件名,input(file)样式修改及上传文件名显示
  4. 如何将yolo的标注(annotations).txt 坐标转换成tensorflow-yolov3(YunYang1994)的.txt 标注坐标?
  5. 基于深度学习的CT图像肺结节自动检测(系列放在一起)
  6. f-measure[转]
  7. fedora 安装Linux源码,如何在 Fedora 29/30 上安装 VS Code
  8. [原创]二维数组的动态分配及参数传递
  9. 7-4 sdut-运输计费问题 (10 分)python
  10. 故宫网站遭“围攻”!
  11. zabbix 4.0 安装配置
  12. python模块分析之typing(三)
  13. 总结(6)--- python基础知识点小结(细全)
  14. 2021年杭州电子科技计算机考研大纲,杭州电子科技大学2021年硕士研究生招生专业目录与自命题科目考试大纲...
  15. 帆软之FineReport填报报表
  16. 批处理变量输出时提示“ECHO处于关闭状态”
  17. sklearn.utils.Bunch的属性
  18. left floating
  19. python 坐标轴 单位刻度_Python绘图总结(Matplotlib篇)之坐标轴及刻度
  20. 美团联盟怎么实现用户订单跟单功能

热门文章

  1. Win11中Win+左右键失效解决方法
  2. 暂缓海外建站、关停拍拍二手入口等调整后 重新聚焦电商业务的京东Q1财报亮眼...
  3. [英语阅读]男性化名字有助女性从事司法业
  4. 苹果创始人乔布斯简介_带有乔布斯和沃兹尼亚克签名的Apple II盖子将被拍卖
  5. 图片类库 Thumbnails 详解
  6. matlab对tif文件的相关操作
  7. to UpperCase()和to lowerCase()
  8. Java报错:om.fasterxml.jackson.core.JsonParseException:
  9. 二〇一一,我的失败与伟大
  10. iOS开发- OC之富文本