首页 > 其他分享 >IO一些基础必备知识点

IO一些基础必备知识点

时间:2024-05-07 20:11:20浏览次数:24  
标签:知识点 文件 缓冲 必备 系统 内核 IO Linux

IO编程

IO一些必备知识点

目录

①了解FAT32以及NTFS区别

名称 FAT32 NTFS
文件用处 Windows 95 OSR2及以后的版本中被广泛采用 Windows NT系列操作系统的默认文件系统
文件大小 FAT32在文件大小方面有明显的限制。它支持的最大单个文件大小为4GB NTFS支持非常大的文件和磁盘分区。单个文件的大小可以达到数TB甚至更大,只受限于磁盘空间的总量
安全性 较低,不支持文件加密和访问控制等 较高,并且支持文件加密(EFS)、磁盘配额和访问控制列表(ACL)等
性能 相比没那么出色,但是在闪存设备上有更好的读写功能 优秀,用了先进的元数据结构和算法,使得文件读写操作更加高效,还支持磁盘碎片整理和自动修复等
支持分区 最大为32GB,磁盘碎片一般 小可以达到2TB,磁盘碎片较少

②了解MMU如何将虚拟地址与物理地址转换

image

MMU的转换分为两部分,分段机制和分页机制,如果没有打开分页机制的话,默认就是分段机制,则得出的线性地址就是物理地址。如果打开了分页机制,就需要引入页表的概念

image

③请简述Linux内核的作用

从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层

Linux内核是链接硬件和上层应用的桥梁,通过这个桥梁我们可以直接在上层完成对硬件的操作

内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。

内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。

image

④Linux系统目录和文件夹的区别

以下笔面题常考问题:

⑤库函数与系统调用给你的函数的区别

image

⑥简述标准IO和系统IO的区别

系统IO:不带缓冲机制,

系统IO可以操作普通文件与驱动文件(设备文件,网络文件,普通文件) 通过系统IO读写文件时,每次操作都会执行相关系统调用。这样处理的好处是直接读写实际文件。

标准IO:带缓冲机制,是系统IO 的包装,标准IO只可以操作普通文件。标准IO可以看成是在文件IO的基础上封装了缓冲机制。

先读写缓冲区,必要时再访问实际文件,从而减少了系统调用的次数。标准IO中用FILE(流)表示一个打开的文件,通常只用来访问普通文件。

缓冲机制可分3类:全缓冲, 行缓存,无缓冲

             全缓冲:填满标准I/O缓存区才进行实际的I/O操作。(fwrite/fread)

             行缓存:当在遇到换行符或者缓冲区满时,标准IO库执行IO系统调用操作(printf)

             无缓冲:标准I/O库不对字符进行缓冲存储 (标准出错)

⑦根文件系统和Linux系统内核关系

“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。

根文件系统就是管理各种各样的文件的系统(Linux下一切皆文件)

真正的操作系统,他是由内核+文件系统构成的。

⑧请简述Linux系统的启动过程

image

标签:知识点,文件,缓冲,必备,系统,内核,IO,Linux
From: https://www.cnblogs.com/little-mirror/p/18178276

相关文章

  • Session相关知识
    什么是Session当用户请求来自应用程序的Web页时,服务器会给每一个用户(浏览器)创建一个Session对象;用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去,默认情况下,只要浏览器没有关闭,这个Session就一直存在。Session的常用......
  • dart annotation
    dart/flutterannotation注解或者元编程dart或者是Java注解或者是Python元编程注解或者元编程都是装饰器模式的视线dart通过注解,生成相应的代码,最后编译Flutter相关命令flutterpubrunbuild_runnerbuild--delete-conflicting-outputs运行代码生成器构建项目......
  • Tensorflow object detection API (ubuntu18.04) 安装和踩坑;
    踩坑:将slim和models路径加入虚拟环境中;将slim和models路径加入系统路径中;(加入系统路径的时候,这个pwd) qit(持续更新)具体安装流程:(很多问题)2.0版本;(继续更新)condacreate-ntf_obj_det_api_v2python=3.8 (很丝滑)重新尝试tf1.0版本;参考:https://blog.csdn......
  • antd下拉选择框搜索配置:filterOption
     <SelectallowClearmode="multiple"showArrow={true}showSearch={true}filterOption={(inputValue,option)=>option?.props?.label.includes(inputVal......
  • Stable Diffusion webui.sh(Version: v1.9.3)选项翻译
    补充解释:Linux/iOS的目录==Windows文件夹options选项:-h,--help显示帮助信息并退出程序 showthishelpmessageandexit--update-all-extensions在启动时更新所有扩展插件 (此为launch.py脚本的参数,下同)launch.pyargument:downloadupdatesforallextensi......
  • 解决远程调用三方接口:javax.net.ssl.SSLHandshakeException:sun.security.validator.Va
    一、前言最近在对接腾讯会议API接口,在鉴权完成后开始调用对方的接口,在此过程中出现调用报错:javax.net.ssl.SSLHandshakeException。二、出现原因当你在进行https请求时,JDK中不存在三方服务的信任证书,导致出现错误javax.net.ssl.SSLHandshakeException:sun.security.validator.Va......
  • .net 8中使用过滤器记录系统日志 ActionFilter+Serilog
    1、添加自定义日志过滤器类usingSerilog;usingMicrosoft.AspNetCore.Mvc.Filters;namespaceADTO.CMS.Common.Filter{///<summary>///日志记录过滤器///</summary>publicclassLogActionFilter:IActionFilter{///<summary>///......
  • iOS 移动端(H5)alert 提示信息去除网址(URL)
    alertwindow.alert=function(name){variframe=document.createElement("IFRAME");iframe.style.display="none";iframe.setAttribute("src",'data:text/plain,');document.documentElement.app......
  • Java测试框架Junit5基础知识点
    Junit5测试框架一:创建一个测试用例junit5的测试依赖:<!--junit5新的编程和扩展模型--><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.8......
  • 信息动力学:InformationDynamics+HIID+社会传播学
    信息动力学:InformationDynamics人智交互设计:Human-IntelligenceInteractionDesign社会传播学:SocialMedia.清华新研究解密信息茧房!全新信息动力学理论,登Nature子刊https://new.qq.com/rain/a/20231024A097GC00三种信息动力学:如何识别元胞自动机中的涌现?https://swarma.org......