哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)

文章目录

  • 0 回顾
  • 1 接口
    • 1.1 命令行接口的本质
    • 1.2 图形按钮的机制
    • 1.3 系统调用

0 回顾

回顾内容请看上一章Blog。

具体系统启动的全过程如下图,即为“操作系统立起来”的意思。


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第1张图片


1 接口


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第2张图片


有了接口,使用就非常方便,因为要用电,所以得插入这个接口。


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第3张图片


所以,要使用操作系统,就必须有接口。

如何使用PC呢?


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第4张图片


1.1 命令行接口的本质

命令就是一段程序,在系统启动到最后会启动一个程序,这个程序就是shell程序。shell程序就会调用指令使用屏幕进行输出,并且申请CPU去执行相应的代码。所以综上就是,程序进行编译后,会成为可执行程序,就可以在命令行以命令的方式进行调用,这些程序当中包含一些语句,就是对操作系统接口的调用,比如说mem_init();一般系统初始化代码的最后会启动一个shell程序。shell本身也是一段程序,它的代码很简单,就是一个死循环,不断的读入命令并执行,后面讲完进程管理可以来看这段代码的细节其中fork和exec是真正的操作系统接口,可以实现进程管理,调用了CPU,scnf也是真正的操作系统接口,可以实现从键盘读入信息,调用了键盘输入另外printft也是,可以调用显示器。


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第5张图片


1.2 图形按钮的机制


哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第6张图片


现在讲的代码是基于linux0.11的,只有命令行,没有图形界面,但是完全可以在linux0.11上实现图形界面。

  • 当鼠标点击、键盘按下后,通过中断,这一事件被放到消息队列中
  • 操作系统的内核中,有一个应用程序会不断的从这个消息队列中取出并处理这些事件,处理事件的代码中,就有对操作系统接口的调用

从内核当中把消息拿出来可以通过GetMessage这个函数,每次拿出一个来,就可以根据拿出什么消息,来实现相应的功能。总的来说就是一个循环,调用一个函数,从内核里把消息取出来,每取出一个消息都会调用一个消息处理函数,这就是著名的消息处理机制,图形按钮基于一套消息处理机制,所以无论是命令行还是图形界面,都是一个程序,但是在OS当中,最重要的就是调用了函数,使用这些函数来操作硬件,因为是函数调用,但是是OS调用的,所以称为系统调用。

综上,什么是操作系统接口?系统调用

1.3 系统调用

  • 系统调用有哪些?不需要记住,要知道从哪里去查这些系统调用,例如POSX手册
  • 系统调用接口需要有统一的规范,以适配不同的实现,例如POSIX:Portable Operating System Interface of Unix(IEEE制定的一个标准族)
  • 我的理解:linux有很多不同的发行版,使用规范AP编写的应用程序可以跑在不同发行版的linux上

哈工大李治军老师操作系统笔记【3】:操作系统的接口(Learning OS Concepts By Coding Them !)_第7张图片


你可能感兴趣的:(OS,linux,运维,服务器)