操作系统基础知识(二)

1.删除数据,数据是真的消失了吗

在计算机科学中,删除数据通常只是将数据从文件系统或存储设备的目录中删除,并释放它所占用的空间。这意味着数据仍然存在于存储设备上,但已不再在文件系统或目录中可见或访问。因此,即使您删除了数据,也可能可以通过恢复软件或其他技术来找回它们。

实际上,只有在使用安全删除工具或进行数据覆盖等操作后,才可以确保数据不可恢复地从存储设备中删除。这些操作将数据覆盖或修改为其他数据,使其不再可读或可恢复。

数据不会消失只会被覆盖。

2.软链接、硬链接的区别

  • 硬链接:硬链接是指将一个已存在的文件或目录的 inode 号与另一个文件或目录进行关联,从而使得两个文件或目录引用同一个inode号。硬链接只能对文件使用,不能对目录使用。当原文件被删除时,其inode号依然存在于硬链接的文件中,因此硬链接指向的文件仍然存在。
  • 硬链接可以认为不是一个文件,它只是实际文件的一个别名,它的作用是防止真实文件被误操作,给一个文件建立硬链接后,它们互为别名,删除其中任意一个,只会删除该别名,实际文件并不会被删除。由于只是别名没有任何其他信息,所以并不占用原始文件大小的磁盘空间。什么时候真正删除文件:删除时,硬链接计数减一,减为0时,inode节点被释放。
  • 软链接:也叫符号链接,软链接就是一个普通文件,知识数据块内容有点特殊,文件用户数据块中存放的内容是另一个文件路径名的指向(另一个文件的路径信息),通过这个方式可以快速定位到软链接所指向的源文件实体。软链接可对文件或目录创建。
  • 软链接大小和什么有关:软链接的大小是由链接本身的大小决定的,而不是源文件的大小。因为软链接只是一个指向另一个文件或目录的符号链接,所以它本身不包含任何数据。

3.管道底层实现

管道是一种进程间通信机制,在Linux系统中,管道的底层实现是通过内核中的缓冲区来实现的。

  • 当一个进程向管道中写入数据时,数据会被存储在内核中的缓冲区中,等待另一个进程从管道中读取数据。如果缓冲区已满,写入进程会被阻塞,直到另一个进程从管道中读取数据,从而腾出缓冲区的空间。
  • 当一个进程从管道中读取数据时,数据会被从内核的缓冲区中读取出来,传递给读取进程。如果缓冲区为空,读取进程会被阻塞,直到另一个进程向管道中写入数据,从而填充缓冲区。

管道是一种半双工通信机制,同一时刻只能有一个进程向管道中写入数据,另一个进程只能从管道中读取数据。如果要实现全双工通信,可以使用两个管道,分别用于进程间的读写操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值