Topic

OS

A collection of 5 issues

[Linux]硬链接和软链接

本文非纯原创,是各文杂糅而来加部分自身实践,在此致谢各位作者! 正文 说到硬链接(Hard link)与软链接(Symbolic link),首先需要了解索引节点(Inode)。关于Inode请移步这里。 硬链接 由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针 ,指向文件索引节点的指针,系统并不为它重新分配inode。inode指向了物理硬盘的一个区块 ,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。每添加一个一个硬链接,文件的链接数就加1。 用ln命令来建立硬链接。 #用法 usage: ln [-Ffhinsv] source_file [target_file] ln [-Ffhinsv] source_file ... target_dir link source_file target_file #创建前 ➜ ~ ls -lrth tmp
8 min read

进程间通信 Inter-Process Communication

> 关于进程与线程,请移步进程与线程 [https://hanzhu.dev/processes-and-threads/]。 本文并非原创,而是拼接整理各作者博文,主要还是为了梳理学习,在此一并致谢并将references贴在文末。 正文 > linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。 前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内; 后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。 Linux则把两者继承了下来 * 早期UNIX进程间通信 * 基于System V进程间通信 * 基于Socket进程间通信 * POSIX进程间通信。 UNIX进程间通信方式包括:管道、FIFO、信号。 System V进程间通信方式包括:System V消息队列、System V信号灯、System V共享内存 P
30 min read

进程与线程

> 进程间通信还请移步:进程间通信 Inter-Process Communication [https://hanzhu.dev/ipc/] 进程:运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;每个进程都有自己独立的一块内存空间,一个进程可以有多个线程。 线程:进程中的子任务(控制单元),是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;线程是操作系统可识别的最小执行和调度单位。 每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。每个线程完成不同的任务,但是共享同一地址空间(也就是同样的 动态内存,映射文件,目标代码等等),打开的文件队列和其他内核资源。 进程与线程的区别总结 线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。 * 根本区别:进程是操作系统资源分配的基本单
3 min read

什么是阻塞,非阻塞,同步,异步?

2021.9更新 Todo: 5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO [https://blog.csdn.net/tjiyu/article/details/52959418] Chapter6 of Unix Network Programming.vol3 [https://mathcs.clarku.edu/~jbreecher/cs280/UNIX%20Network%20Programming(Volume1,3rd).pdf] , 尤其是6.2 I/O model ======================== 答案都来自知乎: Answer1 所谓同步异步,只是对于水壶而言。 普通水壶,同步;响水壶,异步。 虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。这是普通水壶所不能及的。 同步只能让调用者去轮询自己(
8 min read

Subscribe to 隅

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe