建设网站要多长时间,excel+表格+做的网站,辽宁网站seo,重庆网站优化排名目录
1、冯诺依曼体系结构怎么画#xff1f;中央处理器是什么#xff1f;存储器是什么#xff1f;每个部分有什么作用#xff1f;
2、什么是操作系统#xff1f;
3、什么叫进程#xff1f;操作系统如何管理进程的#xff1f;
4、怎么查看进程#xff1f;
5、C语言…目录
1、冯诺依曼体系结构怎么画中央处理器是什么存储器是什么每个部分有什么作用
2、什么是操作系统
3、什么叫进程操作系统如何管理进程的
4、怎么查看进程
5、C语言中在当前目录下创建文件怎么做到的
6、在代码层面如何获取自己的pid和ppidbash进程是什么
7、fork函数有什么用怎么用怎么理解两个返回值 8、什么是写时拷贝 1、冯诺依曼体系结构怎么画中央处理器是什么存储器是什么每个部分有什么作用 存储器是指我们平时说的内存 输入设备有鼠标、键盘、麦克风、磁盘、网卡、摄像头等 输出设备有显示器播放器硬件磁盘、网卡等 运算器对我们的数据进行计算任务算术运算、逻辑运算 控制器对计算机硬件流程进行控制。 中央处理器由运算器、控制器组成其实还有很多寄存器也叫CPU。 五大单元 各个单元都是独立的个体需要用“线”连接起来总线 1、系统总线CPU和内存交互的线 2、IO总线内存和外设交互的线 CPU不和外设直接打交道为什么 外设读写效率太低。 2、什么是操作系统 操作系统是一款进行管理软件和硬件的的软件。 为什么要有OS通过管理好底层软硬件资源为用户提供一个良好的执行环境。 如何理解系统调用接口系统为了保证自己的数据安全所有访问OS的行为都只能通过系统调用来完成系统调用就是操作系统给用户提供的操作自己的函数。 硬件-驱动程序-操作系统-系统调用接口-用户操作接口如C语言的printf-用户 3、什么叫进程操作系统如何管理进程的 一个加载到内存正在运行的程序就叫进程也叫任务。 一个进程在加载到内存形成真正的进程前要先创建一个描述进程属性的结构体对象PCBProcess Control Block进程控制块对进程的管理就是对描述进程的结构体对象PCB做管理具体怎么管理就是通过特定的数据结构如Linux中是用双链表将所有进程PCB组织起来。 管理进程先描述再组织 进程 内核PCB结构体对象你的代码和数据 Linux中的PCB叫什么 task_struct。 tack_struct中有什么常见字段 标示符描述本进程的唯一标示符用来区别其他进程。 状态任务状态退出代码退出信号等。 优先级相对于其他进程的优先级。 程序计数器程序中即将被执行的下一条指令的地址。 内存指针包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针 上下文数据进程执行时处理器的寄存器中的数据 其他信息。 4、怎么查看进程 方法一 ps axj 这条指令可以显示系统中所有进程的详细信息并以通用格式展示。 ps命令是用于显示当前系统中的进程信息a表示显示所有用户的进程x表示显示没有控制终端的进程j表示以通用格式显示进程详细信息。 如果只想看一个特定进程的信息ps axj | grep process_name |是管道符号用于将前一个命令的输出传递给后一个命令。 grep process_name命令是用来在前一个命令的输出中查找包含process_name关键字的行。 如果想加上行头可以这样 ps axj | head -1 ps axj | grep server 查找出来为什么会有两条 因为grep命令在执行时它自己也会变成一个进程且它内部也有server关键字。 ps的本质是什么 ps本质就是在遍历内核中维护所有进程控制块的数据结构双链表 方法二 ls -/proc /proc是一个伪文件系统procfs该目录下存储的是内核运行时的信息而不是实际的文件系统。用户可以查看和操作其中的文件来获取系统状态和进程信息。 5、C语言中在当前目录下创建文件怎么做到的 每个进程的属性里都有一个cwdCurrent Working Directory记录当前进程的工作目录。 C语言中在当前目录下创建一个文件时虽然我们只提供了文件名但系统会将当前cwd指向的路径跟文件名拼接起来。 6、在代码层面如何获取自己的pid和ppidbash进程是什么 通过系统调用接口getpid来获得当前进程的pid通过getppid来获得该进程的父进程的pid。 我们在Linux下执行的所有命令运行的所有程序本质都是由父进程bash通过fork来创建的。 7、fork函数有什么用怎么用怎么理解两个返回值 fork函数可以创建一个子进程它会给父进程返回子进程的pid给子进程返回0。 “./”是指令层面的创建进程fork函数是代码层面的创建进程。 为什么需要两个返回值 区分不同执行流需要执行的代码。 为什么要给父进程返回子进程的pid而子进程返回0 父进程要管理子进程而子进程不需要管父进程。 fork创建子进程时内核会做什么事 创建子进程的PCB拷贝父进程的PCB后做一些修改父子进程代码共享。 为什么一个函数能有两个返回值 fork是一个函数在该函数执行到最后一条return语句之前子进程其实已经创建好了之后的代码父子共享也就是说return语句时父进程和子进程独立分别执行的。 父子进程谁先运行 不一定由调度器决定。 8、什么是写时拷贝 父子进程代码和数据共享他们还具有独立性吗 代码是只读的父子进程都不能修改。但数据是有可能修改的当子进程尝试对父进程的数据进行修改时OS会将该数据给子进程拷贝一份这就叫写实拷贝。 为什么不直接全部给子进程拷贝一份 浪费空间 为什么在fork时同一个变量id会有两个不同值 子进程在尝试修改该变量时发生了数据层面的写实拷贝OS会将该数据拷贝一份给子进程然后子进程再做修改。