操作系统2

操作系统必须要为用户提供接口,用户才能利用这个操作系统完成工作,接口对于交互式应用场景是必要的,但对于服务器来讲接口未必是必要的。
接口是一种应用程序,桌面系统也是一种应用程序

OS的接口分为两类

GUI:Graphic User Interface图形用户界面/图形用户接口

  • GNome:C语言研发,开发环境叫gtk
  • KDE:CC++研发,开发环境为qt

CLI: Command Line Interface 命令行接口
-bash

  • zsh
  • sh
  • csh
  • tcsh
  • ksh

操作系统的功能

驱动程序、进程管理、安全、网络功能、内存管理、文件系统
启动一个程序即把这个程序文件从磁盘上读出来,并交给内核,内核创建出一个可供管理的运行的动态程序,因为内核是要管理这些应用程序的,操作系统通常会把底层硬件所提供的功能抽象成有限的一些调用接口,
对于整个操作系统来讲,要把底层的复杂性隐藏起来,隐藏之后还得把功能用更为简洁的方式向上提供,这个接口叫做系统调用system call(Syscall)程序员写程序就不用面对系统写,而是面对系统调用来写
计算机的操作系统是一款通用软件程序,它必须以通用为目的,因此,其设计不能过于接近用户
库libraries:把底层简洁的功能组合成更为复杂的功能,称为库接口,library call(libcall)
程序员写程序时可以调用操作系统,也可以调用库接口来写程序,库调用写程序要比系统调用写程序要快很多。
任何一个操作系统提供给程序员的编程接口,叫做应用编程接口API(Application Programming Interface)是程序员开发面对的接口
应用二进制接口ABI(Application Binary Interface)是开发好的程序在运行时面对的接口
Linux与Windows编程接口不一样怎么办?
统一标准,把接口做成兼容的,windows提供的libcall与linux提供的libcall二者完全兼容,这样就会使得在windows上开发的程序到linux也可以运用
可移植操作系统POSIX(Portable Operating System):在不同操作系统都可用,编程接口兼容,并不意味着二进制接口兼容

猜你喜欢

转载自blog.csdn.net/qq_44520665/article/details/111907635
今日推荐