- 博客(5)
- 收藏
- 关注
原创 操作系统4
在Linux里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构task_struct进行管理。在内核中,它们虽然都是任务,但是应该加以区分。其中,pid是process id,tgid是thread group ID。如果一个进程创建了其他线程。线程有自己的pid,tgid就是进程的主线程的pid,group_leader指向的就是进程的主线程。
2023-08-07 19:44:42 38
原创 操作系统3
打开文件,使用glibc系统调用表:32位的系统调用表定义在arch/x86/entry/syscalls/syscall_32.tbl文件里。例如open是这样定义的:64位的系统调用定义在另一个文件arch/x86/entry/syscalls/syscall_64.tbl里。例如open是这样定义的:第一列的数字是系统调用号。可以看出,32位和64位的系统调用号是不一样的。第三列是系统调用的名字,第四列是系统调用在内核的实现函数。不过,它们都是以sys_开头。
2023-07-26 20:05:09 164 1
原创 Linux操作系统2
计算机逻辑架构CPU包括三个部分,运算单元、数据单元和控制单元。运算单元计算的数据如果每次都要经过总线,到内存里面现拿,这样就太慢了,所以就有了数据单元。数据单元包括CPU内部的缓存和寄存器组,空间很小,但是速度飞快,可以暂时存放数据和运算结果。控制单元是一个统一的指挥中心,它可以获得下一条指令,然后执行这条指令。计算机位数指的是总线位数,包括地址总线、数据总线。X86 CPU组件逻辑架构图:其中IP寄存器为指令指针寄存器指向代码段中下一条指令位置。果需要切换进程呢?
2023-07-21 17:10:53 43 1
原创 linux操作系统
在Linux里,要创建一个新的进程,需要一个老的进程调用fork来实现,其中老的进程叫作父进程(Parent Process),新的进程叫作子进程(Child Process)。Socket也是一个文件,也有一个文件描述符,也可以通过读写函数进行通信。无论是先下载再安装,还是通过软件管家进行安装,都是下载一些文件,然后将这些文件放在某个路径下,然后在相应的配置文件中配置一下。主执行文件会放在/usr/bin或者/usr/sbin下面,其他的库文件会放在/var下面,配置文件会放在/etc下面。
2023-07-20 20:11:19 43
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人