首页 > 编程语言 >9.4 操作系统和高级编程语言使硬件抽象化

9.4 操作系统和高级编程语言使硬件抽象化

时间:2023-02-13 22:24:27浏览次数:59  
标签:文件 操作系统 编程语言 硬件 抽象化 9.4 fopen 函数

通过使用操作系统提供的系统调用,程序员就没必要编写直接控制硬件的程序了。

通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高级编程语言能够使硬件抽象化。
硬件抽象化的具体实例。代码清单 9-2 是用C 语言编写的往文件中写人字符串的应用。fopen()是用来打开文件的函数,fputs()是用来往文件中写人字符串的函数,fclose() 是用来关闭文件的函数。

 该应用在编译运行后,MyFile.txt 文件中就会被写人“你好”字符串。文件是操作系统对磁盘媒介空间的抽象化。如果直接对硬件进行操作的话,那就变成了通过向磁盘用的 I/O 指定扇区位置来对数据进行读写了。

但是,在代码清单 9-2 的程序中,扇区根本没有出现过。传递给fopen()函数的参数,是文件名“MyFile.txt”和指定文件写入的“w"。传递给 fjputs()的参数,是往文件中写人的字符串”你好”和 f。传递给fclose() 的参数,也仅仅是 p。也就是说,磁盘媒介的读写采用了文件这个概念,将整个流程抽象化成了打开文件用的 fopen()、写人文件用的fputs()、关闭文件用的 fclose()( 图 9-7)。

 下面让我们来看一下代码清单 9-2 中变量的功能。变量力中被赋予的是 fopen( )函数的返回值。该值称为文件指针。应用打开文件后,操作系统就会自动申请分配用来管理文件读写的内存空间。这个内存空间的地址可以通过 fpen()函数的返回值获得。用 fopen() 打开文件后,接下来就是通过指定文件指针来对文件进行操作。正因为如此,fputs() 及 fclose() 的参数中都指定了文件指针(变量p)。

至于用来管理文件读写的内存空间的内容实际在哪里,程序员则没必要关注。只要能意识到“用来操作磁盘媒介的某些信息在某个地方存储着”,就可以制作应用了。

 

Windows操作系统的主要特征:

 

 (1)32位操作系统(也有64位版本)

 

 (2)通过API函数集来提供系统调用

 

 (3)提供采用了图形用户界面的用户界面

 

 (4)通过WYSIWYG实现打印输出

 

 (5)提供多任务功能

 

 (6)提供网络功能及数据库功能

 

 (7)通过即插即用实现设备驱动的自动设定

 

标签:文件,操作系统,编程语言,硬件,抽象化,9.4,fopen,函数
From: https://www.cnblogs.com/ttmeng/p/17118043.html

相关文章