linux系统编程187课

  • 名称:linux系统编程187课
  • 分类:操作系统  
  • 观看人数:加载中
  • 时间:2019/7/4 15:02:13

什么是操作系统?

概念:

操作系统是管理和控制计算机硬件资源的计算机程序,应用软件必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口。

功能:

1.进程管理(Process control)

2.内存管理(Memory management)

3.文件系统管理(Filesystem

management)

4.设备驱动(Device drivers)

5.系统调用(System call)

特点:

操作系统的内核直接参考硬件规格写成,所以不同的硬件架构下不能运行同一版本的操作系统。

基于安全和稳定的考虑,划分内核空间和用户空间,用户空间的程序禁止直接执行内核空间的代码或数据。

操作系统内核只管理硬件资源,如果没有其他应用程序辅助,计算机只能处于就绪状态,无法进行其它操作。

什么是系统调用?

操作系统的特点决定了内核必须提供一种机制,使得用户空间的程序能够发送信号通知内核,使其深入到内核中,执行那些只有内核才允许执行的代码。这些用来响应用户请求的程序就称为系统调用。

当用户空间的程序(如文本编辑器),想从操作系统获得服务或者使用硬件资源时,就要向内核发起系统调用。

Linux内核为Alpha、i386、PowerPC等架构各自实现了系统调用,其中i386架构大约有300系统调用。

令什么是系统编程?

>概念:

从用户空间通过系统调用向内核发出请求,从而获得操作系统提供的服务或者硬件资源的过程,就称为系统编程。

>分支:内核开发设备驱动

>三要素:

系统调用、C库、C编译器