从零手搓一个CPU调试器:NEMU简易调试器(sdb)实现全解析(含表达式求值)
2026/5/15 17:05:05
Solaris提供了文件标志,用于设置不同级别的数据同步和文件完整性。这为读写文件的应用程序开发者提供了一定的灵活性,但随着完整性级别的提高,成本也会增加。
在open系统调用中可以设置三个适用的标志:O_SYNC、O_RSYNC和O_DSYNC。文件打开时分配的文件结构有三个相应的标志,会根据open(2)调用中传入的参数设置在结构的f_flag字段中。具体如下表所示:
|open(2)中的标志 | 文件结构中对应的标志 | 定义 |
| — | — | — |
|O_SYNC|FSYNC| 写入时数据和inode完整性 |
|O_DSYNC|FDSYNC| 写入时数据完整性 |
|O_RSYNC|FRSYNC| 读取数据同步 |
O_SYNC标志并对文件进行写入时,写入系统调用直到数据写入磁盘且文件inode数据更新后才会返回给调用进程或线程。如果没有