linux链表概念,【链表Linux面试题】面试问题:进程的基本概念… - 看准网
一、背景
1、操作系统(Operator System)的概念:
任何计算机都包含一个基本的程序集合,称为操作系统(简称OS)。笼统的理解,操作系统包括:
1)内核,其含有内核管理、进程管理、驱动管理和文件管理。
2)其他程序,例如:函数库、shell程序等等。
2、设计OS的目的:
1)与硬件交互,管理所有的软硬件资源;
2)为用户程序(应用程序)提供一个良好的执行环境。
3、定位
管理好软硬件资源。
4、系统调用和库函数概念:
1)系统调用:操作系统对外是一个整体,但是会露出几个接口,以供上层开发利用。这部分由操作系统提供的接口就叫做系统调用。
2)库函数:开发者对系统调用进行封装形成的集合,就叫做库函数。库有利于用户和开发者的使用。
5、总结:
计算机管理硬件
1)描述起来用结构体;
2)组织起来用链表或其他高效的数据结构。
二、进程
1、基本概念:
1)通俗的观念:程序的一个执行实例,或正在执行的程序。
2)内核的观点:担当分配系统资源(CPU时间和内存)的实体。
2、基本元素:
进程的两个基本元素是程序代码和数据集。
注意:程序代码可能被执行相同程序的其他进程共享。进程是一种动态描述,但是并不代表所有进程都在执行,因为进程在内存中因策略和调度需求会处于不同的状态。
3、进程控制块(PCB)
1)含义:
进程信息被放在一个进程控制块的数据结构中,可以理解为进程的属性的集合,称之为process control block ,简称PCB。
2)task_struct – PCB的一种
A、在Linux中描述进程的结构体叫做task_struct,
B、task_struct会被装载到RAM(内存)并且包含着进程的信息。
3)task_struct内容分类
A、标识符:用于区别其他进程。
B、状态:任务状态、退出信息和退出代码等。
C、优先级:进程执行的先后顺序。
D、程序计数器:程序中即将被执行的下一条指令的地址。
E、内存指针:包括程序代码和进程相关数据的指针,及其他进程共享内存块的指针。
F、上下文数据:进程执行时处理器的寄存器中的数据(学籍档案、寄存器)。
G、I/O的状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
H、记账信息:包括处理器的时间总和,时间限制,记账号等。
4、组织进程
在内核中可以找到进程,所有运行在系统里的进程都以task_struct链表的形式存在内核里。
注:进程控制块是操作系统能够支持多进程和多处理的关键工具。可以说:进程是由程序代码、相关数据和进程控制块组成的。
5、查看进程
1)进程的信息可以通过/proc系统文件夹查看。
【例】获取PID为1的进程信息。
注:大多数进程信息同样可以使用top和ps这些用户级工具来获取。
【例】
释:
A、UID:执行者的身份。
B、PID:本进程代号。
C、PPID:父进程代号。
D、PRI:本进程被执行的优先级,其值越小越早被执行。
E、NI:本进程的nice值。
2)通过系统调用获取进程标识符
A、进程id(PID)
B、父进程id(PPID)
【例】
其程序为:
3)通过系统调用创建进程-fork初识
A、可通过运行man fork,认识fork
B、fork有两个返回值
C、父进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)。
【例】
其程序如下:
注:fork之后通常用if进行分流
【例】
程序为:
#include
#include
#include
int main()
{
int ret = fork();
if(ret < 0){
perror("fork");
return 1;
}
else if(ret == 0){ //child
printf("I am child : %d!, ret: %d\n", getpid(), ret);
}else{//father
printf("I am father : %d!, ret: %d\n", getppid(), ret);
}
sleep(1);
return 0;
}
linux链表概念,【链表Linux面试题】面试问题:进程的基本概念… - 看准网相关推荐
- 腾讯linux内核面试,【腾讯谷歌Linux面试题】面试问题:浏览器内核差异… - 看准网...
浏览器内核的差异 2017年04月19日 23:47:28 阅读数:185 浏览器内核: 浏览器最重要最核心的部分是"render engine",即解释引擎,专门负责对html, ...
- 计算机通信网络面试题,【算法通信面试题】面试问题:计算机网络(七… - 看准网...
可靠传输的工作原理 TCP发送的报文段是交给IP层传送的.但IP层只能提供尽最大努力服务.所以TCP必须采用适当的措施才能使两个运输层之间的通信变得可靠. 理想的传输条件: (1)传输信道不产生差错. ...
- c语言面试题东软,【东软集团程序员Java东软集团C语言面试题】面试问题:东软java面… - 看准网...
当天我很早的就来到面试地点,其实我们还有课<算法分析与设计>,但是我们逃了吧,逃课的不止我一人,还有王凯,还有唐建军,王川,还有我的好友刘冠春.他们逃课也许是为了对面试做一个充分的准备吧, ...
- c语言fwrite写字符串数组,【字符串数组面试题】面试问题:C语言 文… - 看准网...
1.文件中存储的学生信息按照班级编号升序排列,每个班级的人数可以不同,要求读取文件中所有学生的成绩,计算每个班级的平均成绩,将班级编号和平均成绩输出. 存储格式: 145811 fuxin ...
- js 跳转到指定位置 高德地图_【高德字符串JavaScript面试题】面试问题:高德地图Js … - 看准网...
申请JSAPI的开发者key 申请地址:http://lbs.amap.com/dev/key 引入高德地图JavaScript API文件: 创建地图容器 在页面body里你想展示地图的地方创建一个 ...
- 博雅互动android面试题,【博雅互动怎么样?】-看准网
大概流程:1.去到前台领取 [应聘者表格]和相应岗位的笔试题: 2.做完笔试题,直接技术面.笔试题主要分为选择题.简答题和编程题. [选择题]主要对基础知识的考核,部分网上也有,可以自己看看,不算难. ...
- java笔试完一般多久给通知_【字节跳动一般的话多久能收到面试或笔试通知呢】-看准网...
缘起 很多人挤破脑袋,破釜沉舟的想进大厂的根本原因还是大厂和小公司真的不一样.我是双非本科15年毕业的,毕业之后就一直在做Android相关方面的开发工作,到18年经历了两家创业公司,一家工作了不到半 ...
- 德邦面试java_【德邦物流Java面试】德邦面试被耍经验分享。-看准网
德邦物流因为人员流动较大,所以常年都在招人,各大招聘网站都有招聘信息,只要大专以上学历,毕业再两年以内,投了简历就会叫你来面试,不过面试容易,想要录取却没那么简单.面试分为四轮,第一轮:笔试(主要是一 ...
- python服务器端开发面试_【网易游戏Python面试】python 服务端开发-看准网
10.21终面已参加,希望能顺利通过终面拿到offer-❤一共三轮,电话面试+笔试+视频面试,视频面试3V110月19日投的新媒体运营的简历,HR说因为是周末,等工作日再联系我,在周一下午三点我接到了 ...
- 京东java电话面试问题_【京东Java面试】京东电话技术面试,面试题目完全没思路。-看准网...
京东2021校招,投了两个岗位,一个是物流方向管培生,一个是物流规划,管培生当时未参加一面(形式群面),后来面了物流规划这个.1.初试(通过)一面为一对一专业面试,形式为线上视频面试,问了一些实习经历 ...
最新文章
- 基础、数据、开发、部署,AI 时代企业的全方位升级
- linux进程--fork详解(三)
- Android ListView 横向滑动删除 Item
- Go语言GO111MODULE设置
- 【Linux】一步一步学Linux——df命令(79)
- Java反射课程教程
- 4年,我终于成了千万富翁
- 大数据之-Hadoop之HDFS_HDFS组成架构---大数据之hadoop工作笔记0050
- EasyRecovery15中文版专业数据恢复软件
- UAV进阶论文和书籍
- Android 获取应用「唯一标识符」——DeviceID「兼容android 10(Q)」
- 用户活跃度分析前端java_计算APP用户活跃度的方法及提升活跃度方案
- vuex中的actions
- 想学CNC编程的一定要看过来
- 神经网络入门(个人理解)
- ios用 shell 自动打包静态库(里面包含真机和模拟器)
- 在Ubuntu终端使用mkdir创建文件夹后Xftp不能上传文件到文件夹中的问题解决方法
- (附源码)spring boot大学生综合素质测评系统 毕业设计 162308
- Hive 窗口函数(开窗函数) over
- Maven私服创建--Nexus
热门文章
- 卷积神经网络之AlexNet网络模型学习
- 《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记
- C语言 查询ASCII码
- android版本我的世界,我的世界0.15.4版
- 面向对象 — 前端基础小白入门编程详细讲解总结
- 美团面试官:为什么不建议把数据库部署在Docker容器内?
- 双十一数码好物运动耳机分享,分享六款还不错的运动耳机
- 常用的sql语句(持续更新)
- 数据库编程(一)JDBC篇
- 2021年高处安装、维护、拆除最新解析及高处安装、维护、拆除新版试题