一、计算机的框架
什么是操作系统?(汽车)
加油系统 油门 用户跟加油子系统交互的窗口。(接口)
方向系统 方向盘 用户跟方向系统的交互接口。
导航系统
。。。
汽车的操作系统有很多的子系统来完成。这些子系统互相协调工作,达到用户的目的。操作简练、效率高、安全性比较高...。 接口 多个子系统 每个子系统负责单一的工作。
操作环境 驾驶员位置 是不是驾驶员直接控制汽车的硬件?
通过接口间接控制硬件的。 看不见的 透明
框架
组件
操作系统管理硬件并且为上层的app提供服务。
对app的管理。 二、计算机的操作系统
计算机的操作就是管理计算机资源的一款系统软件。(软件资源和硬件资源) sudo ? bash是ubuntu操作系统上用户和操作系统的交互窗口程序。 用户需要一个和操作系统交互的环境。这个交互的环境有shell来营造。 补充:
系统调用是函数
库函数
#include <stdio.h>
#include <stdlib.h>
man 库函数
man 系统调用
man 命令
man 命令 编译器 GNU/Linux操作系统
linux是内核
操作系统有unix、linux、windows、macos、ios、。。。
LFS 套件 计算机操作系统包含的内容
、内存管理
、文件管理
、文件系统
、进程的管理
、信号
、 线程的管理
、进程间通讯
、网络通讯 三、计算机语言的发展史
32位机器
,,,,,,,
add ,
,,,,,,,
sub ,
把汇编指令翻译成机器指令,这个翻译过程,专业术语称为汇编。
伪指令 main C语言
#include <stdio.h>
#define PI 3.14
# sharp
! bang
& and
@ at
以hello.c为例演示程序从c到可执行文件的过程。
代码参见hello.c 补充:
echo 字符串 将字符串显示到屏幕上
$? 最近指令执行的返回值。
echo $?
框架 组件
第一步:预处理
gcc -E hello.c -o hello.i
预处理指令的处理 文件的包含 宏定义 条件编译
注释去除掉 第二步:需要将预处理后的文件编译成汇编语言文件
gcc -S hello.i -o hello.s 第三步:将汇编语言的文件汇编为机器语言
gcc -c hello.s 第四步:将目标文件和库文件 运行时文件链接,形成可执行文件 四、大型软件的组织