再学习Linux的系统编程,主要是文件操作,文件描述符fd,对文件的操作write,read,open.close等,然后学习进程fork()vfork()创建进程和管理父子进程,进程之间的通信无名管道、命名管道、消息队列、共享内存、信号量、套接字等;都掌握之后要学线程以及线程的互斥和同步,线程之间共享进程的资源,就要对资源进行合理的分配,例如信号量sem和线程互斥锁pthread_mutex,信号是用来检测信号的ISGNAL的,常见的信号例如ctrl+c,中断前台的进程和kill中断后台的进程,如果对网络感兴趣,可以学习下Linux的网络套接子Socket,实现多台主机之间进程的通信,例如QQ和IPMSG都是对网络套接字的操作,熟悉一下TCP、UDP协议和TFTP、HTTP的网络层的传输协议,个人觉得解析buff最费时间,可以自己做一下IPMSG,单用户和并发server,echo服务器。
感兴趣GUI的可以学习一下C++和Qt,Qt被nokia收购,nokia被微软收购,Qt支持很多的平台,很实用,C++主要是对类的操作,和C中的结构体相似,class 类名{};// 声明类class 类名:继承方式 基类{};//继承类类中包含私有成员、公有成员、受保护的成员,类是对事物共性的一种抽象,对象是共性的一种实体化,是类的一个实例,老师的共性是:教书,吃饭,睡觉等,可以抽象成一个类,个性是年龄、性别、名字等,是老师类的一个实例,C++还有很多的内容,Qt是用C++来写的,其中的窗口都是派生于QWidget的,具体的不多说了。
学完C++和Qt,有了面向对象的概念后,可以去学Java和android系统,做手机的应用软件和游戏开发,和Java 和C++类似,去掉c++中指针部分,完全脱离了内存的操作,完全的面向对象,android和Qt类似,具体内容不多说了。
说说底层的吧:
底层主要用到的是C语言和arm汇编主要是v4版本以后的汇编标准语言,首先清楚底层是怎么引导Linux系统的,嵌入式很大一部分使用缩减版的Linux内核主要是稳定版本的,千万不要去追求最新,最适合的才是最好的,前部分由汇编语言引导C语言,主要设置开发板软硬件的环境,主要是bootloader(vivi、uboot.bin),然后把设置好的param参数传给内核,内核调用这些参数去找相应的文件,进行相应的操作,然后就是Linux的根文件系统了,最后是软件的移植。
用到的软件:vmplayer (Linux redenterp版)、windows下的超级终端,LSJF24X0.exe(下载bootloader时使用,也可以用H-Jtag)、tftpd32.exe(做windows下的server用,用于u-boot网线下载)等工具。
以上是个人的体会,仅供参考!
解决方案1. 备份 SEPM 服务器注册表。
2. 将附录部分的注册表导出信息保存为 *.reg 文件。
注意: 如果SEPM安装在默认路径之外,请注意修改
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Parameters]
中的 SEPM 安装路径为实际安装路径。
3. 双击 reg 文件导入注册表文件。
4. 完成后运行 regedit 打开注册表,确认
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5] 项已经导入。
注意: 如果 SEPM 安装在默认路径之外,请注意修改
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\ImagePath]
为实际的 SEPM 安装路径。
5. 重新启动服务器操作系统,确认 Symantec Embedded Database 服务启动正常。
附录
将以下内容粘贴入记事本,并保存为 .reg 文件: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,\
20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,53,00,79,00,6d,00,61,00,6e,00,74,\
00,65,00,63,00,5c,00,53,00,79,00,6d,00,61,00,6e,00,74,00,65,00,63,00,20,00,\
45,00,6e,00,64,00,70,00,6f,00,69,00,6e,00,74,00,20,00,50,00,72,00,6f,00,74,\
00,65,00,63,00,74,00,69,00,6f,00,6e,00,20,00,4d,00,61,00,6e,00,61,00,67,00,\
65,00,72,00,5c,00,41,00,53,00,41,00,5c,00,77,00,69,00,6e,00,33,00,32,00,5c,\
00,64,00,62,00,73,00,72,00,76,00,39,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
68,00,76,00,41,00,53,00,41,00,4e,00,59,00,73,00,5f,00,73,00,65,00,6d,00,35,\
00,00,00
"DisplayName"="Symantec Embedded Database"
"Group"="ASANYServer"
"ObjectName"="LocalSystem"
"Description"="Embedded database used by Symantec Endpoint Protection Manager."
"FailureActions"=hex:80,51,01,00,00,00,00,00,00,00,00,00,03,00,00,00,53,00,65,\
00,01,00,00,00,10,27,00,00,01,00,00,00,10,27,00,00,01,00,00,00,10,27,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Parameters]
"arameters"="-c 64m -ch 64m -gp 8192 -gc 30 -gr 30 -o \"C:\\Program Files\\Symantec\\
Symantec Endpoint Protection Manager\\db\\out.log\" -oe \"C:\\Program Files\\Symantec\\
Symantec Endpoint Protection Manager\\db\\err.log\" -os 1m -gn 80 -n SPC_jl-w2k3-en3 \
"C:\\Program Files\\Symantec\\Symantec Endpoint Protection Manager\\db\\sem5.db\
" -n sem5 -sb 0 -x tcpip(localonly=yesport=263"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Security]
"Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,\
00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,\
00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,\
00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,\
01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASANYs_sem5\Enum]
"0"="Root\\LEGACY_ASANYS_SEM5\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)