操作系统结构与功能

基础知识点

  • 系统调用:可以理解为在操作系统内核当中的一个函数,这个函数对应用程序来说,是不可以被直接访问的。应用程序可以访问的是API接口,API有办法进系统内核中去执行相应的程序
  • windows操作系统提供出API应用编程接口,但是linux不一样,linux不需要通过这个接口来调用。
  • 目前世界上有三套API接口,WIN32 API,POSIX API(被unix广泛应用,很多应用程序是针对他编写的,就要提供相应的接口,以及参数),JAVA API(JVM)
  • 系统中就像是有一条分割线,上面是用户模式(运行的都是应用程序),下面是内核模式(操作系统的内核)。分割起到保护作用,用户态里的应用程序,不可能随便访问内核里的资源。交互就要用到系统调用了。
  • 例如C语言里面的printf(),它就是调用了系统程序write()
  • 应用程序不可以访问内核,但是系统可以访问应用程序的内核。只不过要多一些步骤。
  • 系统程序通常和系统中的功能比较近,帮助我们完成系统里的重要职能。
  • 比较常用的系统程序:复制拷贝文件(属于资源管理器就是系统程序)
  • 一般很少用到的系统程序(磁盘分区,系统快照,磁盘碎片整理)

操作系统的设计之道

  • 软件的体系结构是根据操作系统来的,操作系统就是早期最大的软件。
  • 而操作系统的体系结构是从建筑学中学来的

操作系统的结构

  • 由于用户应用程序可以直接调用系统程序,所以 DOS系统结构很惧怕病毒。

在这里插入图片描述

  • 做到了对内核的保护,应用层和系统层分离,但是在内核中是没有结构的,就造成了内核中错综复杂混乱的局面,牵一发而动全身,有一点出问题,内核全完蛋。

在这里插入图片描述

  • 层次结构:上层调用下层的功能,下层向上层返回数据,不允许跨层访问。这种理念也映射到信息封装,隐藏,方方面面都有。

在这里插入图片描述

  • 微内核,相比以前的大内核,有了很多好处,把更多的功能分给了用户空间(磁盘,网络管理都放到了用户空间)。这样的微内核带来了系统的稳定和安全,但是做什么都要经过内核,这样就导致效率低下。

在这里插入图片描述

  • Solaris Modular系统,无可比拟,强大,比uniux, linux强很多。

在这里插入图片描述

  • Macos,混合系统,两个内核BSD(聚内核)+Mach(微内核)

在这里插入图片描述

  • 虚拟机结构(在操作系统之上装一个虚拟机,虚拟机中又可以再装不同的操作系统。)

在这里插入图片描述

  • 未来的虚拟机结构(在硬件之上直接装一个虚拟机,在虚拟机中装不同的内核),集群系统,大型机房常用。

在这里插入图片描述

操作系统的功能

一、进程管理(cpu管理)

  • 进程控制:(创建,暂停,唤醒,撤销)
  • 进程调度:调度策略,优先级
  • 进程撤销:进程间通信

二、内存管理

  • 内存分配
  • 内存共享
  • 内存保护
  • 虚拟内存管理

三、设备管理

  • 设备的分配和调度
  • 设备的无关性
  • 设备传输控制
  • 设备驱动

四、文件管理

  • 存储空间管理
  • 文件的操作
  • 目录的操作
  • 文件和目录存取权限的管理

总结:

  • 提供接口供用户使用
  • 分配和管理资源

小故事

  • 最初设计unix的时候,是用汇编语言写的,但是太费劲了,于是找人开发出了C语言,所以uniuxc语言就像鸡和蛋的关系,不知道谁先有,而最初设计uniux就是为了玩游戏。所以说C语言非常适合用来编写操作系统。
  • 跟硬件实打实的打交道的程序,只能用汇编语言来编写,其他语言更别说了,C语言也不行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值