【DAY1】软件实习日记

学习问题:
(1)什么是X86
x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。该系列较早期的处理器名称是以数字来表示80x86。由于以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。
(2)什么是中央处理器指令集架构?
指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。
(3)什么是BIOS
基本输入输出系统,Basic Input Output System
BIOS(基本输入/输出系统)是计算机微处理器在通电后用来启动计算机系统的程序。它还管理计算机操作系统 (OS) 和附加设备(例如硬盘、视频适配器、键盘、鼠标和打印机)之间的数据流。充当操作系统与其运行的硬件之间的中间人。
BIOS 在计算机开启后立即识别、配置、测试计算机硬件并将其连接到操作系统。这些步骤的组合称为引导过程。
这些任务分别由 BIOS 的四个主要功能执行:
1、开机自检(POST)。这会在加载操作系统之前测试计算机的硬件。
2、引导加载程序。这将找到操作系统。
3、软件/驱动程序。这将找到运行时与操作系统交互的软件和驱动程序。
4、( CMOS ) 设置。这是一个配置程序,使用户能够更改硬件和系统设置。 CMOS是BIOS非易失性存储器的名称。
(4)BIOS工程师干什么?
以下是BOSS直聘上的高级BIOS工程师要求:
高级BIOS工程师(服务器)
工作职责:

  1. 负责服务器项目BIOS的开发调试工作,评估客户对于BIOS功能的新需求,并完成新功能的开发与调试;
  2. 服务器产品SIT测试中BIOS相关问题的分析与解决;
  3. 参与项目预研工作、BIOS相关需求分析和系统设计;
  4. 项目中与其他领域工程师积极协作,完成相关领域开发中需要的BIOS配合工作;
  5. 负责BIOS领域开发经验、重要功能开发方案、重点问题解决方案的文档输出与积累工作; 6.BIOS领域的新技术预研及技术提升。
    任职要求:
    l. 有丰富的X86架构服务器BIOS开发定制经验,在国内知名服务器厂商(浪潮,曙光,联想,华为,宝德等)有不少于3年开发经验;
  6. 熟悉IPMI协议,熟悉常用的总线接口协议(如I2C/IPMB/UART/LPC/ESPI等);
    3.对服务器产品研发过程中BIOS定制与开发有丰富工作经验,实际主导参与过多款服务器产品的BIOS定制与开发工作,有独立承接项目BIOS开发工作的能力;
  7. 有丰富的研发、疑难问题处理能力,具备良好沟通协调能力,与项目团队各领域成员协同工作,高效完成BIOS开发与调试任务;
  8. 熟悉X86平台BIOS软件架构,熟悉BIOS开发编译环境的搭建与维护,至少有AMI等一种或多种BIOS codebase的开发经验;
  9. 具有良好的沟通和表达能力、英文读写能力平台的笔记本电脑及平板电脑产品的电源设计、文档编写能力以及团队协作精神,具有高度的职业进取心和责任心。
  10. 本科及以上、电子、计算机相关专业
    来自 比亚迪

继续一份国外职责介绍(超微):
基本职责和责任:
包括以下基本职责和责任(也可能分配其他职责):
• 开发台式机和服务器的 UEFI BIOS
• 执行台式机、服务器主板和工作站 UEFI BIOS 移植
• 设计用于开发的模块代码
• 为客户提供有关 BIOS 问题的工程支持
• 验证BIOS 系统规格
• 管理从设计阶段到生产的项目进度
• 测试功能和可靠性并确保产品质量
• 从事相关Linux 内核开发和设备驱动程序
• 研究计算机主板、BIOS 系统规格和配置要求,以进行规划和配置开发可靠性和兼容性
• 研究和分析设计规范和系统外壳,以优化系统效率
• 与其他工程人员协商和协调,评估设计规范和功能
资格:
• 计算机科学、计算机工程或电气工程学士学位
• 至少 3 年低级软件开发相关工作经验优先
• 至少 3 年传统 BIOS 代码或 UEFI 代码经验优先
• 具有 C 语言软件设计的强大背景、C++ 和/或汇编优先
• 需要对 PC 硬件架构、BIOS 和 Linux 有深入了解
• 独立工作并具有自我激励能力
• 必须具有团队合作精神,对软件开发充满热情并具有出色的沟通能力
工资范围
$85,000 - $146,000

来自chatgpt的回答:
BIOS工程师是负责开发、维护和测试基本输入/输出系统(BIOS)的专业人员。BIOS是计算机系统中的一个基本软件层,负责在计算机启动时初始化硬件、执行自检(POST)、加载操作系统等重要任务。BIOS工程师通常需要有深入的计算机硬件知识、操作系统知识以及编程技能。他们可能会编写低级代码来控制计算机硬件,进行调试和故障排除,以确保计算机系统的正常运行。此外,随着UEFI(统一可扩展固件接口)的兴起,BIOS工程师也可能涉及到UEFI固件的开发和维护。

一篇很有用的博文:
BIOS工程师的平凡之路
(以下内容摘自该博文)
BIOS工作配合硬件、电源、Layout、测试、EMI、测试等部分紧密工作。
BIOS工作,向下需要理解硬件的工作的物理和逻辑原理,向上需要了解OS的工作机理。所以,无论从深度上而言,还是从广度上而言,BIOS都是很深的。所以,作为一名优秀的BIOS工程师,必须具有强烈的求知欲和优秀的学习能力。一定要清楚的能明白每一种总线、协议的工作原理
(5)什么是SVN代码库
以下来源于简书:SVN源代码管理工具
SVN是一种源代码管理工具,全程Subverion。常见的其他源代码管理工具还有:CVS、GIT。
进入公司需要做的关于开发的第一件事, 就是向项目经理索要SVN服务器地址+用户名+密码。
服务器: 用于存放所有版本的代码,供客户端上传下载更新
客户端: 通过客户端下载上传本地代码
用户名/密码: 验证人员身份,判断是否有操作权限;

项目开发中的基本操作
1.项目经理初始化项目结构并上传到服务器
2.程序猿根据地址+用户名+密码下载一份完整代码到本地
3.开始开发,任务完成后,提交任务代码到服务器
4.从服务器上更新其他同事的代码到本地

以上操作对应到SVN操作体现
1.svn import (项目经理做的)
2.svn checkout : 将服务器所有代码下载到本地
3.svn commit : 提交本地最新代码到服务器
4.svn update : 从服务器更新最新被修改的代码

服务器环境搭建
Mac 下直接配置
Mac 下安装SVN
http://tycomputer.iteye.com/blog/1963764
Mac下配置SVN 服务器
http://blog.csdn.net/q199109106q/article/details/8655204
Windows下安装Visual SVN Server
Visual SVN Server下载地址:
http://www.visualsvn.com/server/download/
因为作为新人进到公司无法接触服务器,而且大部分公司都是使用windows 作为服务器
(6)什么是校验和
校验和(checksum)是对一组数据(通常是一个文件)进行算法-加密哈希函数运算得到的结果。通过比较你手头文件和原始文件的校验和,能够确保你对原始文件的拷贝是真的并且不存在错误。
校验和通常也被称之为哈希值、哈希和、哈希码,或简称为哈希–hash。
校验和计算器是一种用来计算校验和的工具。市面上有非常多校验和计算器,每一种都支持不同的加密哈希函数组合。
一个知名的免费校验和计算器是 Microsoft File Checksum Integrity Verifier,简称FCIV 。FCIV 仅支持MD5和SHA-1加密哈希算法,但这两个是目前为止最流行的。
(7)什么是软体资料
软体资料即“软件资料”。软件资料是指与软件相关的文档、说明、手册、教程、技术规格等信息。它们可以包括以下内容:
1、用户手册:提供了关于软件如何安装、配置、使用和维护的详细说明。
2、技术规格:描述了软件的功能、性能、接口、限制等技术细节。
3、教程和培训资料:为用户提供学习如何使用软件的指导和培训材料。
4、更新日志:列出了软件的更新版本中所做的更改和修复的问题。
5、API文档:针对软件开发人员的应用程序编程接口(API)文档,描述了如何使用软件的编程接口。
6、问题解决和支持文档:提供了关于软件常见问题的解决方案以及技术支持信息。
(8)什么是软体资料的生产释放
即软件资料的生产发布。软件发布生命周期是开发、测试和分发软件产品(例如操作系统)的过程。在最终版本或“黄金版本”向公众发布之前,它通常由几个阶段组成,例如 pre-alpha、alpha、beta 和候选版本。

以下是PDFAI给出的回答,仅作为参考
(9)阅读文档,BIOS工程师负责哪些工作?
BIOS工程师在这些文档中承担了多项关键职责,主要包括但不限于:
1、BIOS调试与制作:负责样品板的BIOS调试工作,确保在规定的时间内(通常为1-2个工作日)完成初版调试。在接收到相关材料后,BIOS工程师需要完善相关方案导入,并填写《平台方案明细表》,同时在《研发测试进度表》中记录BIOS状态,随后将BIOS移交给测试人员进行测试。
2、版本控制与升级:当发现重大Bug或有客户定制需求时,BIOS工程师需修改BIOS源码来解决问题或满足特定需求。在修改BIOS源码前,需要评估更改内容,并在上传SVN前,通过邮件向BIOS经理及小组成员说明修改内容及效果。在某些情况下,还需召开会议评审重大更改。
3、文档与测试:制作或修改BIOS时,需填写相应的申请表和规格需求表,并参与制定测试方案。BIOS工程师还需确保在送测前,与测试部、硬件工程师、商务接口人等沟通确认BIOS更改内容及测试需求。
5、客户沟通与确认:在处理客户定制BIOS时,需与技术支持或商务部门沟通,了解客户需求,并根据客户确认的测试状态进行后续工作。在BIOS升级时,尤其是对于VIP客户,需得到客户的明确同意。
6、资料管理与发布:完成初测后,BIOS工程师负责将最终版本的BIOS存放在指定的服务器位置,并确保版本号的唯一性和命名规范。同时,需要通过邮件或其他通信方式,将BIOS文件提供给需要的部门或个人,如硬件工程师或测试部。
7、问题解决与验证:在测试过程中,针对测试工程师提交的问题,BIOS工程师需在限定时间内完成升级调试,并填写初测记录,随后测试工程师会验证新BIOS的功能,形成闭环反馈。
8、安全与规范遵守:遵守公司信息安全制度,比如对BIOS文件的加密处理、版本记录以及遵守送测和生产资料的释放流程。
(10)阅读文档,BIOS工程师与其他部门的对接?
在与其他部门的对接上,BIOS工程师主要与以下几个部门进行交互:
1、硬件部:接收样品板和硬件规格需求,确认PCB升级情况,以及在送样或批量生产时确认BIOS的使用版本。
2、研发部:获取简化电路原理图等设计资料,参与评估和解决硬件相关问题。
3、测试部:提交BIOS测试申请,与测试工程师沟通测试内容、进度和结果,处理测试中发现的问题。
4、商务部门:在客户定制BIOS时,与商务沟通确认客户的需求、测试结果及是否提供PCN等。
5、文档文控:与BIOS文控协作,确保BIOS文件的命名、存放和版本控制符合规范,并在必要时通过文控进行文件的正式释放。
通过这些互动,BIOS工程师在软体资料的制作、测试、升级、送测和生产释放等各个环节中发挥着核心作用,确保软体资料的质量和生产流程的顺利进行。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙声

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值