Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File “什么是”呢;“内部表格”;为了一个文件?_File_Operating System - Fatal编程技术网

File “什么是”呢;“内部表格”;为了一个文件?

File “什么是”呢;“内部表格”;为了一个文件?,file,operating-system,File,Operating System,来自Tanenbaum关于文件操作的现代操作系统: 打开。在使用文件之前,进程必须将其打开。open调用的目的是允许系统获取属性和列表 将磁盘地址存储到主内存中,以便以后调用时快速访问 接近。完成所有访问后,不再需要属性和磁盘地址,因此文件应关闭以释放 向上内部表空间 什么是“内部表格” 在我阅读书中的引用之前,我没有找到定义“内部表”。它是否也被称为其他名称 它是否在主内存中,并且是专门为文件创建的 谢谢。对于每个打开的文件,操作系统都会维护一个服务结构,用于跟踪该文件、文件位置、打开模式等。

来自Tanenbaum关于文件操作的现代操作系统:

  • 打开。在使用文件之前,进程必须将其打开。open调用的目的是允许系统获取属性和列表 将磁盘地址存储到主内存中,以便以后调用时快速访问
  • 接近。完成所有访问后,不再需要属性和磁盘地址,因此文件应关闭以释放 向上内部表空间
  • 什么是“内部表格”

    在我阅读书中的引用之前,我没有找到定义“内部表”。它是否也被称为其他名称

    它是否在主内存中,并且是专门为文件创建的


    谢谢。

    对于每个打开的文件,操作系统都会维护一个服务结构,用于跟踪该文件、文件位置、打开模式等。一旦关闭该文件,该结构将不再需要并被丢弃。这就是这个短语所指的——在一些操作系统上,将使用称为内部表空间的东西来完成,但这是一个实现细节


    一个相关问题的好答案。

    通常,访问文件时支持多级数据结构。在unix中,通常有两个级别:操作系统和库。在虚拟机中,有三个级别。系统服务、RMS和库

    在系统级,文件成为逻辑设备。(Unix通常会跟踪此级别的读取位置)

    在某些系统(IBM、VMS)中可以找到记录级访问。在文件系统支持多个文件结构(例如,流、固定、变量、索引)的情况下使用。Unix只做流。它也可以处理缓冲

    Library access提供特定于语言的功能。C-RTL函数fopen()返回您通常访问的文件*结构。open()函数是Unix系统级函数(在某些系统上作为库函数实现)


    这些层中的每一层都会创建需要释放的其他数据结构。

    文件的内部表是否与文件的文件描述符相同?@Tim通常不会。描述符通常是一个魔法值,用于标识程序中打开的文件。就像你问操作系统“你能帮我打开那个文件吗”,操作系统调用返回一些
    file*
    void*
    或任何你除了调用读写和“关闭文件”函数之外不能用于其他任何东西的东西。RMS和VM是什么?您是否有一些书在一般意义上或特定于某些操作系统(如Linux或Unix)提到这些级别?VMS是一种操作系统。RMS=记录管理服务。在VMS中,RMS以执行模式运行,执行模式低于内核,高于主管和用户(系统有4种模式,而Unix中通常有两种模式)。