系统结构(文件实例)

操作系统的内核实现操作系统的五大功能:内存管理,进程管理,文件系统管理,设备控制,网络管理。

内存管理 是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。

系统调用:操作系统的最小功能单位。用户不需要知道内核源代码,就可以使用内核,从内核访问资源接口。如用open打开文件返回的是文件操作符,使用write或者read等系统调用函数对该文件描述符进行操作。

系统调用发生在内核空间,因此如果用户在用户空间的一般应用程序中使用系统调用来 进行文件的操作,会有用户空间到内核空间的切换开销。

库函数:函数库是由系统建立的具有一定功能的函数的集合,实现对系统调用的封装。如open打开一个文件后返回一个FILE 指针使用fwrite或者fread等库函数直接对该指针进行操作。

库调用建立在系统调用之上,本身并不是用于获取内核服务的“入口点”,但是其内部可能会调用一个或多个系统调用,通常用于为应用程序提供一些更加方便的功能。同时库函数可由用户自行编写。

系统调用直接接跟底层打交道,系统调用移植性远不如标对文件和设备进行访问和控制的的一组底层接口, 而标准I/O库为底层I/O调用提供了一个通用的接口。

creat、open、read、write、lseek和close 均为Unix系统自带的函数接口(API)
 

文件: 系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象,对系统资源进行访问的一个通用接口。

对于 Linux 内核而言,所有对设备和文件的操作都使用文件描述符来进行的。

1.文件描述符本质是一个非负的整数,由内核分配

2.文件只有在进程中被打开或者创建时,系统才在对应的进程中为其分配对应的文件描述符。
 

猜你喜欢

转载自blog.csdn.net/qq_41916395/article/details/81772910
今日推荐