Linux操作系统之基础理论

发布于:2022-11-14 ⋅ 阅读:(1064) ⋅ 点赞:(0)

一、main主程序的三个参数

我们改变原来固有的思路,认为main函数里面无参数,其实main函数里面是存在参数的,我们这里主要总结了main函数里面参数的主要内容

1、首先写一个main程序
在这里插入图片描述
在这里插入图片描述

二、shell 终端

1、用户->计算机硬件->shell->内核

2、fwrite()->内核函数write(系统调用的函数)

3、shell 是用户 和Linux 内核交互的接口程序

4、shell 终端

在提示符输入命令,经过shell先命令的解释 后传递内核

shell 通过 $PATH 寻找可执行程序(应用程序),若找到可执行程序。被分解为系统调用并传递给内核执行

bash->born again shell (bash是shell的一种)

Linux中有很多shell ,bash 是shell 通用的一种

三、并发和并行串行

1、并行:在同一时刻,能够同时执行多个进程,每核,CPU在每一个时刻执行一个进程,所以要同时进行多个进程的运行,选择多核CPU

2、并发:在某一时间段,需要处理多个任务(进程),单核CPU,在某一时刻处理一个任务,多个进程 通过进程之间的切换,进行进程的执行

3、串行:多个任务,单核CPU 一个进程全部处理完成 接下来才处理下一个进程,等待该进程处理完,在进行下一个进程

四、printf 隐藏的缓冲区

printf与Linux缓冲区的区别:
printf :Windows无缓存区

\n 行缓冲 Linux有缓存 存放在缓冲区里面

刷新缓冲区:(缓冲实质上是一个数组)

1.程序结束前

2.碰见\n 刷新缓冲区

3.碰见fflush 刷新缓冲区

4.缓冲区放满

return、exit、_exit的区别:

1)return 关键字 语言应用
当前功能的结束

2)exit 函数调用 系统级别 栈开辟
进程退出

3)_exit 内核级别函数 只结束程序
不会刷新缓冲区
_exit函数内部实现结束 调用 _exit 进程终止

注意:fflush + _exit 结合相当于exit(0)


网站公告

今日签到

点亮在社区的每一天
去签到