文档视界 最新最全的文档下载
当前位置:文档视界 › 嵌入式操作系统应用开发复习题及复习资料

嵌入式操作系统应用开发复习题及复习资料

嵌入式操作系统应用开发复习题及复习资料
嵌入式操作系统应用开发复习题及复习资料

1、简述Linux操作系统具有的特点。

答:开放的源代码,良好的兼容性,完备的帮助手册页,优秀的网络支持

支持多用户多任务多处理器

支持多种文件系统,独特的挂载方式确保数据的安全性

将应用程序的核心实现为库,可重用性良好

采用模块化分层的程序设计方法,可靠易维护

将设备等一切都看做是文件,提供统一的文件操作接口对设备等进行操作

2、解释POSIX。

答:POSIX表示可移植操作系统接口,可以提高UNIX环境下应用程序的可移植性。POSIX标准定义了标准的API,只要是符合这一标准的应用程序,就能够在多种操作系统中运行。

3、解释通用公共许可证GPL。

答:GPL保证软件对所有用户来说是自由的。遵循GPL的软件提供给用户时必须提供源码,一旦用户得到遵循GPL的软件,就能够对其任意地改写,修改之后如果要提供给其他人也必须遵循GPL,并开放源码,允许被修改。

4、Linux系统下,常用的在线帮助文件有哪些?

答:1、man手册2、info手册3、How-To文件。

5、Linux系统下进行C程序开发的主要两个标准。

答:1 、ANSI C标准2、POSIX标准。

6、一般Linux系统调用函数,如果执行成功将返回什么值?如果执行失败将返回什么值?并对哪个系统全局变量进行赋值,以指示具体的错误情况。

答:成功时返回为0,不成功时一般返回-1,也可能返回一些非0值。失败时将会在全局变量errno中赋值指示错误类型

7、画出Linux函数库调用和系统调用的示意图,简单说明系统调用(API)函数的作用。

答:

应用程序

库函数

系统调用

内核硬件设备

API是操作系统和用户程序之间的接口,应用程序通过API与操作系统进行通信,使用操作系统提供的服务。API同时保证了操作系统数据和程序的安全性。

因此,API提供给用户安全地使用操作系统提供的服务。

8、简单说明在Linux程序开发过程中,利用GCC工具将C语言程序编译成一个可执行程序文件的四

个步骤。

答:1、预处理2、编译3、汇编4、连接

9、解释gcc工具的o、c、I、L、l等5个参数的功能作用。

答:o:把文件输出到output_,c:只编译,不连接I: L:在库文件的搜索路径列表中添加dirname目录l: -o file指定输出文件为file

-c 预处理,编译,汇编源文件,但是不做连接,产生.o(OBJ)文件

-Idirname在头文件的搜索路径列表中添加dirname目录

-Ldirname 在“-I”的搜索目录中添加dirname目录,在连接库文件时候使用

-lname 如果一个库文件的名称为“libname.a”,程序执行时若要连接这个库文件,就要使用该选项进行连接,省略库名中的前缀“lib”和后缀“.a”

10、可执行程序文件在存储时(没有调入到内存)分为几部分,说明各段的主要内容。

答:1、可执行代码区(text):存放CPU执行的机器指令。2、已初始化数据区(data):包含了在程序中已经被初始化的全局变量和静态变量。3、未初始化数据区(bss):未初始化的全局变量和静态变量,在程序开始执行之前被内核初始化为0或空指针。

11、可执行程序文件调入到内存产生进程后,分为几个存储区域,说明各区域的主要内容与作用。

答:前三个与10中内容相同4、堆区:用于动态内存分配5、栈区(heap):由编译器自动分配释放,存放函数的参数值、返回值、局部变量等。。

12、Linux系统下,用C语言编程,进行文件管理,有哪两类函数可用?试比较两类函数的优缺点。答:

ANSI C优点:1.具有丰富的函数可供使用。2.直接对内存缓冲区进行操作,可以高效的写任意长度的数据块,在数据长度满足要求时安排底层系统调用,降低的系统的开销且没有数据块大小的限制,整体的效率要比直接对硬件操作的系统调用高3.具有更好的兼容性

缺点:对系统调用进行封装,因此使用时会在库函数中再调用系统调用,就一次读写相同的数据来说,效率比系统调用要低

POSIX优点:在类UNIX等系统中有很好的可移植性,可以直接设置对硬件的控制

缺点:1.使用时会影响系统性能,如果一次只存取很少的内容,效率会很低 2.硬件会限制对底层系统调用一次能读写的数据块大小,如果数据很小,会留下空隙。3.兼容性不是很好

13、Linux系统中,系统默认为每个进程打开了几个个文件?即每个进程可以直接操作哪几个流?

答:3个,STDIN_FILENO标准输入文件,STDOUT_FILENO标准输出文件,STDOUT_FILENO标准错误文件。每个进程可以直接操作STDIN:标准输入流,STDOUT标准输出流,STDERR:标准错误输出流。

14、标准输入输出设备的文件描述符和文件流指针分别是什么?文件流指针与文件描述符有什么区别?答:使用系统调用open()成功返回一个文件描述符,文件描述符是任何打开的文件都被分配一个唯一非负整数用于表示该打开的文件,内核通过文件描述符对文件进行操作。

文件流指针:在操作一个文件时要打开该文件使用ANSIC库函数fopen打开一个文件后返回一个文件流指针与该文件关联,所有对该文件的读写操作都可以通过该指针流完成。在Linux中,文件流指针中封装了文件描述符,才能使通过文件流指针对文件操作成为可能。

15、Linux文件类型,在shell应用层面用ls -l查看命令不同类型的文件分别显示什么内容?

答:文件的类型,文件权限,应连接个数,拥有者,拥有者所在组,文件大小,最后一次修改时间。

文件类型标识:

目录文件d,普通文件f,字符设备文件c,块设备文件b,管道文件p,链接文件l,socket文件s

16、在Linux某个文件系统下,文件属性中惟一标识某个文件的是什么?惟一标识一个打开的文件是什么?

答:索引节点,文件描述符。

17、ls –lc,-lu,-lt分别列出的是什么时间?

答:–lc:最后一次修改i结点时间.-lu:最后一次访问时间.-lt:最后一次修改内容时间

18、一个文件设置了setuid位,该可执行文件在执行时有什么主要的影响。

答:会使得拥有执行该文件权限的用户执行该文件时,即使不是文件所有者也会使用文件所有者的权限。

19、一个常规文件的大小可以为0(st_size字段定义),那么目录和符号连接的长度是否可以为0?

答:不为0.因为每当目录文件创建时,会自动产生两个“.”开头的隐含文件,符号链接,文件包含着另一个文件的路径名。

20、Linux系统下,进程结束的方法有哪几种?

答:1.在本进程或者其它进程中使用kill()调用发送SIGKILL信号。 2.进程运行过程中遇到内存段冲突,非法指令等错误,由操作系统发送相应的信号终止进程。 3.进程执行到return或者调用exit()或者运行到最后自然结束。 4.执行exec类函数执行新的进程

21、Linux系统下,线程结束的方法有哪几种?

答:1、调用pthread_exit()退出。2、调用pthread_cancel函数取消该线程。3、创建线程的进程退出或者整个函数结束。4、其中的一个线程执行了exec类函数执行新的进程。5.线程调用pthread_exit()或者执行到return或者执行完毕自然终止。6.线程执行中出错由系统终止

22、线程间通信的机制有哪几种?

答:1.信号量2.互斥量3.共享全局变量

23、进程间通信的机制有哪几种?

答:本地主机通信:1.信号 2.信号量,消息队列,共享内存 3.管道(包括有名管道和无名管道)4.共享内存

网络通信:1.socket 2.rpc

24、画出面向连接的(TCP)socket通信模型,并解释说明其中主要的socket函数。

答:

socket():创建一个socket ,作为通信的一个端点

bind():为socket 命名,若是创建的AF_INET 套接字将其关联到一个IP 端口号,若是AF_UNIX 套接字将其关联到一个文件系统的路径名

listen():创建一个队列用来保存等待处理的连接

accept():阻塞等待连接请求,在有连接请求时创建一个新的socket 来与客户进行通信 recv()/read():接收数据 send()/write():发送数据

connect():用户通过在一个命名的或者未命名的socket 和服务器的socket 建立连接 25、 画出面向非连接的(UDP )socket 通信模型,并解释说明其中主要的socket 函数。

read/recv write/send

write/send read/recv

socket,bind

26、 Linux 系统IO 操作有哪几种方式?

答:1、阻塞I/O2、非阻塞I/O3、多路选择I/O4、信号驱动I/O 27、 字节排列顺序有几种方式? 答:大端方式,小端方式

采用大端方式将高位存放在低地址,小端方式将低位存放在低地址。采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。

28、 POSIX 标准下,文件管理的基本操作函数有哪些?

recvfrom sendto

sendto recvfrom

答:open 打开文件close关闭文件read()从文件或设备中读读数据write()向文件或者设备中写数据fcntl():传递控制信息到设备驱动程序

编程

29、如何使用ANSI C标准库,实现文件拷贝操作。

答:假如要从文件中拷贝数据到中

#include

#include

int main()

{

int c;

FILE *in, *out; //定义两个文件流指针

in = fopen("", "r"); //in与文件关联,使用只读方式打开

out = fopen("", "w"); //out与文件关联,用只写方式打开

while((c = fgetc(in)) != EOF)

fputc(c, out); //每次循环从中用fgetc()读出一个字符放到c中,再从c中写入到。如果没有读到文件尾(EOF),就继续下一次循环

exit(0);

}

30、如何使用POSIX IO库,实现文件拷贝操作。

答:

#include

#include

#include

#include

#include

int main()

{

int c[50]; //暂存从中读出的字符

int in, out;

int nread; //存放read()返回值,即成功读取的字符数

in = open("", O_RDONL Y); //以只读方式打开

out = open("", O_CREA T | O_WRONLY, S_IRUSR | S_IWRUSR); //以只写方式打开,如果该文件不存在,就使用所有者可读可写的方式创建它

while((nread == read(in, c, 50) )> 0) //请求从中读取50个字符放入c中,并返回实际读取的字符数放入nread中

write(out, c, nread); //将c中的有效字符写入,如果还有字符未读出,循环,如果返回值为0(即已经读完了所有字符),退出循环

if(nread < 0) //如果返回值为-1,出现错误,在终端输出“read() error!”

write(2, "read() error!", 13);

exit(0);

}

31、如何编程实现文件夹的拷贝。

答:/*输入格式如./cp file2 */

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define BUFSIZE 1024

#define PERMS 0666

#define DUMMY 0

int cp *source_ *target_file)

{

int source,target,num;

char iobuffer[BUFSIZE];

if((source=open(source_))==-1)

{

printf("Source error!\n");

return 1;

}

if((target=open(target_))==-1)

{

printf("Target error!\n");

return 2;

}

while((num=read(source,iobuffer,BUFSIZE))>0) if(write(target,iobuffer,num)!=num)

{

printf("Target error!\n");

return 3;

}

close(source);

close(target);

return 0;

}

int cpdir(char *source_dir,char *target_dir){

DIR *source=NULL;

DIR *target=NULL;

struct dirent *ent=NULL;

char name1[100],name2[100];

source=opendir(source_dir);

mkdir(target_dir,S_IRWXU|S_IRGRP|S_IXGRP|S _IROTH);

target=opendir(target_dir);

if(source!=NULL&&target!=NULL)

{

while((ent=readdir(source))!= NULL)

{

if( strcmp(ent->d_name,"..")!=0 && strcmp(ent->d_name,".")!=0)

{

strcpy(name1,"\0");

strcat(name1,source_dir);

strcat(name1,"/");

strcat(name1,ent->d_name);

strcpy(name2,"\0");

strcat(name2,target_dir);

strcat(name2,"/");

strcat(name2,ent->d_name);

if(ent->d_type==4)

cpdir(name1,name2);

if(ent->d_type==8)

cp);

}

}

closedir(source);

closedir(target);

}

return 0;

}

int main(int argc,char *argv[])

{

cpdir(*(argv+1),*(argv+2));

return 0;

}写一创建(fork)新进程的程序,利用管道机制,实现在子进程中写入数据,在父进程中读出数据。

答:

#include

#include

#include

#include

int main()

{

int data_processed;

int [2]; //管道的描述符

const char some_data[] = "123"; //存放将要传输的数据

char buffer[BUFSIZ + 1]; //stdio.h中已经定义的BUFSIZ大小为8K

pid_t fork_result;

memset(buffer, '\0', sizeof(buffer)); //buffer 空间初始化‘\0’

if (pipe() == 0) {

fork_result = fork();

if (fork_result == -1) {

fprintf(stderr, "Fork failure");

exit(EXIT_FAILURE);

}

//子进程从管道中读出数据放到bufferr中

if (fork_result == 0) {

data_processed = read([0], buffer, BUFSIZ);

printf("Read %d bytes: %s\n", data_processed, buffer);

exit(EXIT_SUCCESS);

}

//父进程往管道中写入数据

else {

data_processed = write([1], some_data, strlen(some_data));

printf("Wrote %d bytes\n", data_processed);

}

}

exit(EXIT_SUCCESS);

}

32、编程实现who|sort

答:#include

#include

#include

#include

#include

#include

int main(int argc,char *argv[])

{

int fds[2];

if(pipe(fds)==-1)

{

perror("pipe");

exit(EXIT_FAILURE);

}

if (fork()== 0)

{

char buf[128];

dup2(fds[0], 0);

close(fds[1]); //must include ,or block

execlp("sort", "sort", (char *)0);

//execlp("cat", "cat", (char *)0);

}

else

{

if(fork() == 0)

{

dup2(fds[1], 1);

close(fds[0]);

execlp("who", "who", (char *)0);

}

else

{

close(fds[0]);

close(fds[1]);

wait(NULL);

wait(NULL);

}

}

return 0;

}

33、利用信号机制,定时在屏幕上输出一些信息。

答:

34、利用信号量机制,实现生产消费问题的基本程序框架。

答:

35、线程互斥锁的使用。

答:1、初始化和销毁互斥锁2、申请互斥锁3、释放互斥锁

36.静态库和共享库各有什么特点?

静态库特点是当你同时运行许多应用程序并且他们都是用来自同一个函数库的函数时,内存中就会有同一函数的许多副本,而且程序文件本身中也有许多同样的副本,这将消耗大量宝贵的内存和磁盘空间,而共享库的保存位置和静态库是一样的,但是共享库有不同的文件名后缀,当一个程序使用共享库时,程序本身不在包含函数代码,而是引用运行时可访问的共享代码,当编译好的程序在执行时,函数引用被解析并产生对共享库的调用,这样,系统只保留共享库的一份副本工序多应用程序同时使用,并在磁盘上也保留一份,另一好处是,共享库的更新可以独立与依赖它的应用程序,

37.什么是文件,文件的种类?文件操作的两种方法?文件的定位,文件状态的设置?

38.什么是环境变量,如何设置,获取环境变量?

39,用户信息的概念,还有getuid getpid这些函数。

40.linux系统时间起点,标准时间,本地时间

时间起点是格林尼治时间1970年1月1日午夜0点

41,如何从命令行获得系统参数(环境变量)

42,makefile文件的基本组成,目标?

43,什么是进程?进程和程序的区别是什么?

44,创建进程的方法?

45,什么是线程,他和进程相比有那些优缺点?线程创建的方法?

46,线程之间的同步以及互斥数据的共享有那些常用方法?

47,什么是管道?基本的操作?通过管道如何让两个进程传递信息?48,什么是信号量?

49,什么是套接字?里面基本的函数?

50进程信号量的3个基本函数?

51,共享内存的4个基本函数?

52,消息队列的4个基本函数?

常见的嵌入式操作系统

常见的嵌入式操作系统 分类:嵌入式操作系统2012-12-11 10:06 459人阅读评论(1) 收藏举报嵌入式操作系统 嵌入式操作系统与通用的操作相比较主要特点在于: 1.小内核,稳定可靠。 2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。 3.面向应用,强实时性,可用于各种设备控制当中。 国际上常见的嵌入式操作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3Com 的Palm,以及Symbian和Google的Android等。 一、VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是T ornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。 然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。 二、Windows CE Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操

嵌入式操作系统实验指导书1

嵌入式操作系统实验 实验一 Linux常用命令 一.实验目的 1. 熟悉VMware Workstation虚拟机的使用。 2. 熟悉ubuntu操作系统。 3. 掌握常用的Linux命令。 二.实验设备 硬件:PC机。 软件:VMware Workstation虚拟机、ubuntu操作系统。 三.实验内容 1.基于虚拟机的Linux操作系统的使用。 2.文件与目录相关命令的使用。 3.磁盘管理与维护命令的使用。 4.系统管理与设置命令的使用。 5.网络相关命令的使用。 6.压缩备份命令的使用。 四.实验步骤 1.基于虚拟机的Linux操作系统的使用 (1)启动VMware Workstation应用程序,启动windows以后,点击开始→程序→VMware→VMware Workstation,出现如图1所示界面。

图1 启动VMware Workstation (2)点击菜单File Open选择安装好的Linux虚拟机文件,或者直接点击Start this virtual machine启动Linux操作系统。 (3)启动系统后需要输入用户名和密码,如图2所示,这里用户名为root,密码为“123456”。 图2输入用户名和密码 (3)启动终端,成功进入系统后,选择应用程序->系统工具->终端,如图3所示。 图3 启动终端 (4)在终端中执行Linux命令,终端运行以后,就可以在这里输入Linux命令,并按回车键执行,如图4所示。

图4运行Linux命令 2.文件与目录相关命令的使用 理解12个常用的文件与目录相关命令的使用,完成如下练习。 (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin (2)进入/tmp目录下,新建目录myshare: cd /tmp mkdir myshare ls -ld myshare/ (3)用pwd命令查看当前所在的目录 pwd (4)新建testfile文件 touch testfile ls -l (5)设置该文件的权限模式 chmod 755 testfile ls -l testfile (6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak。 cp testfile myshare/testfile.bak ls -l myshare/ (7)在/root目录下为该文件创建1个符号连接。 ln -s /tmp/testfile /root/testfile.ln ls -l /root/testfile.ln (8)搜索inittab文件中含有initdefault字符串的行。 cat /etc/inittab | grep initdefault 3.磁盘管理与维护命令的使用 理解2个磁盘管理与维护命令,完成如下练习。 (1)Linux下使用光盘步骤: ?确认光驱对应的设备文件:ll /dev/cdrom ?挂载光盘:mount -t iso9660 /dev/cdrom testdir ?查询挂载后的目录:ll /media/cdrom ?卸载光盘(umount testdir)umount /dev/cdrom (2)Linux下USB设备的使用 ?挂载U盘,看看系统认出的盘(或者使用#fdisk -l)。cat /proc/partitions

嵌入式操作系统精彩试题集61374

第一章嵌入式系统概论 一.填空 1. 嵌入式系统是以嵌入式应用为目的、以计算机技术为基础的计算机系统。 2. 计算机系统按应用可以分为通用计算机系统和嵌入式计算机系统。 3. 嵌入式系统按软件结构可分为嵌入式单线程系统和嵌入式事件驱动系统。 4. 嵌入式系统按是否具有实时性能可分为嵌入式非实时系统和嵌入式实时系统。 5. 嵌入式实时系统除具有嵌入式系统的基本特征外,还具实时性和可靠性的重要特点。 6. 嵌入式系统的硬件架构是以嵌入式处理器为中心,由存储器,I/O设备,通信模块以及电源等必要的辅助接口组成。 7. 嵌入式系统的软件通常固态化存储在ROM、FLASH或NVRAM中。 8. 嵌入式系统的开发由于受到系统资源开销的限制,通常采用交叉开发环境。 9. 嵌入式系统开发采用的交叉开发环境是由宿主机和目标机组成的。 10. 嵌入式系统的设计是使用一组物理硬件和软件来完成所需功能的过程。 二.选择 1. 以下哪一项不属于嵌入式操作系统(C) A.VxWorks B. WinCE C. BSD D. uClinux 2. 以下关于嵌入式系统说确的是(A) A.以开发为中心 B 对实时,成本,功耗要求严格 C.软硬件协同 D 软件可剪裁 3. 以下关于嵌入式系统说确的是(A) A.嵌入的系统中可以共存多个嵌入式系统 B.对高性能要求严格

C.软硬件缺乏协同 D.不要时性 4. 对响应时间有严格要求的嵌入式系统是(A) A.嵌入式实时系统 B.嵌入式多线程系统 C.嵌入式多核系统 D.嵌入式轮转询问系统 5. 以下哪一项属于嵌入式系统不具备的特点(B) A.采用专用处理器 B. 跨平台可移植 C.软硬件协同一体化 D.小型化与有限资源 6. 嵌入式系统硬件的核心是(B) A.存储器 B.嵌入式微处理器 C.嵌入式微控制器 D.BSP 7. 嵌入式系统的软件部分不包括(A) A.DSP B.嵌入式操作系统 C.设备驱动程序D.应用程序 8. 对性能要求高的嵌入式系统是(C) A.嵌入式实时系统 B.嵌入式多线程系统 C.嵌入式多核系统 D.嵌入式轮转询问系统 9. 嵌入式应用软件的开发阶段不包括(D) A.交叉编译和 B.开发环境的建立 C.联机调试 D.应用程序模块加载 10. 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都保存在(A) A.存储器芯片 B.磁盘 C.cache D.CDROM

嵌入式操作系统简介以及发展史

嵌入式操作系统简介以及发展史 导语:嵌入式操作系统离我们生活并不远,甚至我们生活中处处都可见,比如各种路由器,机顶盒,洗衣机,空调,手机等。嵌入式操作系统的定义: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。嵌入式系统的发展:嵌入式操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有了一些IT组织,公司开始进行商用嵌入式系统和专用操作系统的研发,这期间涌现了一些著名的嵌入式操作系统:windows CEVxWorkspSOSQNXPalm OSOS-9LynxOS目前,有很多商用嵌入式操作系统都在努力的为自己争取嵌入式市场的份额。但是,这些专用操作系统均属于商业化产品,价格昂贵,而且,他们的源码不公开,使得各自的嵌入式系统上的应用软件不能互相兼容。这导致了商业嵌入式系统对支持各种设备存在了很大的问题,使软件移植变得相当困难,但是,在这个时候,我们伟大的linux操作系统横空出世, 由于linux自身诸多的优点以及优势,吸引了许多开发商的 目光,使得linux成为了嵌入式操作系统的新宠。嵌入式操 作系统发展的四个阶段:第一阶段:无操作系统的嵌入式算法阶段,以单芯片为核心的可编程控制器的系统,具有监测,

伺服,指示设备相配合的功能。应用在一些专业性极强的工业控制系统,使用古老的汇编语言进行系统的直接控制。第二阶段:以嵌入式CPU为基础,简单操作系统为核心的嵌入式操作系统,CPU种类繁多,通用性差,系统开销小,效率高,一般配备系统仿真器,操作系统有一定的兼容性,软件较为专业,用户界面不够友好,系统主要用来监测系统和应用程序运行。 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统,能运行于各种微处理器上,兼容性好,内核小,效率高,具有高度的模块化和扩展化,有文件管理和目录管理,设备支持,多任务,网络支持,图形窗口以及用户界面等功能,具有大量的应用程序接口(API),软件非常丰富,代表就是linux。 第四阶段:以Internet为标志的嵌入式操作系统,这是一个正在迅速发展的阶段,现在非常多的嵌入式操作系统已经有了接入Internet的能力。通过一个综合网关。 常见的嵌入式操作系统:uC/OS-Ⅱ:uC/OS-Ⅱ是一个公开源码,结构小巧,实时内核的实时操作系统。是一种基于优先级的可抢占式的硬实时内核,其内核提供任务管理与调度,时间管理,任务同步和通信,内存管理,中断服务等功能。其内核最小可以编译至2KB左右。-RTLinux:RTLinux是一个源代码开放的具有硬实时特性的多任务操作系统,他是通

LInux 嵌入式操作系统期末试题

1.简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系 统应用的需要,在产品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 2.嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4. 性能优异 5.良好的网络支持 3.linux文件类型:1.普通文件 2.目录文件 3.链接文件 4.设备文件 a.块设备文件(硬 盘:/dev/hda1)b.字符设备(串行端口接口设备) 4.linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所 属用户组 o:其他用户第一个字符显示文件类型:-普通d目录 l 链接… 5.简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 6.编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之 后编写shell文件,删除所有用户

嵌入式系统和嵌入式操作系统

一什么是嵌入式系统 嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。 嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 二嵌入式处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mW甚至μW级。 据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000种,流行的体系结构有30多个系列。其中8051体系占多半,生产这种单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64kB到16MB,处理速度为0.1~2000MIPS,常用封装8~144个引脚。 根据现状,嵌入式计算机可分成下面几类。 (1)嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式操作系统期末考试答案

填空 1、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适用于应用系统,对(功能)、(可靠性)、(成本)、(体积)、(功耗)严格要求的专用计算机系统。 2、嵌入式系统开发采用的交叉开发环境是由(宿主机)和(目标机)组成的。 3、挂载设备到文件系统的命令是(mount),从文件系统中卸载设备命令是(umounts)。 4、在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面,进入vi之后,是处于 (命令)模式,要切换到(编辑)模式才能够输入文字。 5、GCC的编译流程分为4个步骤,分别为:(预处理),编译,(汇编),链接。 6、Linux系统的设备分为三类:(字符设备)、(块设备)和网络设备。 7、操作系统的功能包(处理机管理)、(存储管理)、(设备管理)、(信息管理)、(作业管理)。 选择 1、下面哪点不是嵌入式操作系统的特点。(C) (A)内核精简(B)专用性强(C)功能强大(D)高实时性 2、嵌入式Linux下常用的文件系统不包括以下哪一项(A) (A)nfs(B)romfs(C)yaffs(D)jffs 3、下面关于Shell的说法,不正确的是:(D) (A)操作系统的外壳(B)用户与Linux内核之间的接口程序(C)一个命令语言解释器(D)一种和C语言类似的程序语言 4、在Bootloader()模式下,目标机可以通过通信手段从主机更新系统。(B) (A)启动加载模式(B)下载模式(C)实时模式(D)保护模式 5、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是: (A) (A)chmoda+xg+wexer1(B)chmod765exer1(C)chmodo+xexer1(D)chmodg+wexer1 6、在vi编辑环境中,下面()选项不是从命令行模式切换到插入模式。(C) (A)i(B)o(C)ESC(D)a 7、shell变量名命名中不包括()。(D) (A)字母(B)数字(C)下划线(D)括号 8、下列关于字符设备说法不正确的是()。(C) (A)以字节为单位逐个进行I/O操作(B)字符设备中的缓存是可有可无的 (C)支持随机访问(D)字符设备可以通过设备文件节点访问 9、以下哪一项是是硬盘设备文件()。(B) (A)fd0(B)hda(C)eth1(D)ht0 10、共享内存通信机制的缺点是()。(B) (A)需要花费额外的内存空间(B)需要使用额为的同步机制 (C)需要额外硬件支持(D)通信过程中需要反复读取内存,时间开销大 简答题 1.嵌入式操作系统在哪些方面较为突出的特点并请列举出4种目前较常用的手机嵌入 式操作系统。 四个方面:系统实时高效性硬件的相关依赖性软件固态化应用的专用性 四种手机操作系统:Window Mobile SymbianOSAndriod OSE

嵌入式操作系统的发展现状

嵌入式操作系统的发展现状 【摘要】嵌入式操作系统是一种用途广泛的系统软件,负责嵌入系统的全部软、硬件资源的分配和调度工作,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。随着Internet技术的发展、信息家电的普及应用及嵌入式操作系统的微型化和专业化,嵌入式操作系统开始从单一的弱功能向高专业化的强功能方向发展。 【关键词】嵌入式操作系统;嵌入式系统 1.引言 嵌入式操作系统EOS(Embedded Oper-ating System)是一种用途广泛的系统软件,它与嵌入式系统密不可分。嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。 嵌入式技术的发展,大致经历了四个阶段:第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。第三阶段是以嵌入式操作系统为标志的嵌入式系统。第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。 2.嵌入式操作系统的发展状况 国外嵌入式操作系统已经从简单走向成熟,主要有Vxwork、QNX、Palm OS、Windows CE等。国内的嵌入式操作系统研究开发有2种类型,一类是基于国外操作系统二次开发完成的,如海信的基于Windows CE的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统Hopen OS(“女娲计划”)等。 Windows CE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使Windows CE能够访问Internet并收发E-mail或浏览Web。除此之外,Windows CE特有的与Windows类似的用户界面使最终用户易于使用。Windows CE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。 3Com公司的Palm OS在掌上电脑和PDA市场上独占其霸主地位,它有开放的操作系统应用程序接口(API),开发商可根据需要自行开发所需的应用程序。 QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式( A )。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一( A )。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以( A )键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FAT32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFAT,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

适合STM32的嵌入式操作系统

一下是网络收集的几种适合stm32的嵌入式操作系统,打算最近都移植一下,先做个记录。 基于STM平台且满足实时控制要求操作系统,有以下4种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这四种嵌入式操作系统的特点及不足。 1、μClinux μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU 特点进行改良,且不支持内核抢占,实时性一般。 在内存管理上由于μClinux是针对没有MMU的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略。系统使用分页内存分配方式,在启动时对实际存储器进行分页。系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,即使是一个无特权进程调用一个无效指针也会触发一个地址错误,并有可能引起程序崩溃甚至系统崩溃。 μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。 μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS 文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

LInux嵌入式操作系统期末试题

简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系统应用的需要,在产 品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4.性能优异 5.良好的网络支持 linux文件类型:1.普通文件2.目录文件3.链接文件4.设备文件a.块设备文件(硬盘:/dev/hda1)b.字符设备(串行端口接口设备) linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所属用户组o:其他用户第一个字符显示文件类型:- 普通 d 目录 l 链接… 简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之后编写shell文件,删除所有用户 操作步骤:1.打开Terminal(终端): 2.输入vi shell 3.输入i 进入编辑模式 4.输入 #!/bin/bash groupadd class1 for((i=1;i<10;i++)) do username=student0$i

四种常见的嵌入式操作系统方案

常见的四种嵌入式操作系统 嵌入式操作系统EOS(Embedded Operating System)又称实时操作系统RTOS(Real Time Operation System)是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser 等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。 在嵌入式实时操作系统环境下开发实时应用程序使程序的设计 和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM 开销,2~5%的CPU 额外负荷。 到目前为止,商业化嵌入式操作系统的发展主要受到用户嵌入式系统的功能需求、硬件资源以及嵌入式操作系统自身灵活性的制约。

而随着嵌入式系统的功能越来越复杂,硬件所提供的条件越来越好,选择嵌入式操作系统也就越来越有必要了。到了高端产品的阶段,可以说采用商业化嵌入式操作系统是最经济可行的方案,而这个阶段的应用也为嵌入式操作系统的发展指出了方向现在主流的嵌入式操作系统包括Linux、VxWorks、Windows CE、μC/OSⅡ等。 (一)嵌入式Linux 这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。 由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。有庞大的开发人员群体。无需专门的人才,只要懂Unix/Linux和C语言即可。随着Linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在Internet时代尤其重要。稳定——这是Linux本身具备的一个很大优点。核精悍,运行所需资源少,十分适合嵌入式应用。 支持的硬件数量庞大。嵌入式Linux和普通Linux并无本质区别,PC 上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方

嵌入式操作系统实验一建立交叉编译环境

嵌入式操作系统实验一建 立交叉编译环境 Last updated on the afternoon of January 3, 2021

嵌入式操作系统实验报告 队友:张圣苗亚 实验内容 1、准备工作工作:安装virtualbox虚拟机工具,并安装系统、增强型工具,实现共享文件夹的自动挂载。 2、利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。 详细内容1:安装虚拟机软件和虚拟机时要完成的主要步骤有:安装virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹(主机和虚拟机可共同操作),指定操作系统镜像文件路径(相当于光盘,第一次启动时安装),安装虚拟操作系统,安装增强工具包,实现共享文件夹的自动挂载。有几点需要注意: 1、虚拟硬盘尽量分配大一些,之后再扩就比较麻烦。 2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。 3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。 详细内容2需要安装与脚本相关的工具,需要修改crosstool中的配置文件以指定编译的目标位arm-linux。需要修改需要的资源 实验步骤 实验准备: 在实验准备中,在安装完增强工具包()并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件,是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,都可以放在里面。 $sudomkdir/mnt/share $sudomount-tvboxsfembedded/mnt/shared 上面三句话实现了将共享文件夹embeded挂载到了share上。 gedit/etc/ 将第2句命令添加在exit之前,实现了自动挂载功能。 实验一 一、搭建编译环境 1、安装于脚本运行相关及其他的工具bison、flex、build-essential、patch、libncurses5-dev。

嵌入式操作系统(复习题集)

一、填空题 1.ARM处理器中断有快速中断模式(FIQ)和外部中断模式(IRQ)处理模式。 2.典型的ARM基于JTAG调试结构包括哪几个部分? Debug主控端,协议转换器,调试目标机 3.LINUX系统中设备文件通常分为哪几种? 字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。 4.LINUX环境中的变量包括哪几个? path home histsize hostname shell mail ps1 lang/langue 5.gcc编译分成哪4个阶段:预处理(Pre-Processing) -> 编译(Compling) -> 汇编(Assembling) -> 连接(Linking) 6.flash memory上的两种技术分别是NAND和NOR 7.MMU是存管理单元,主要作用有地址映射和对地址访问进行保护和限制 8.Pxa255拥有7 级超级流水线,主要由主流水线、MAC流水线和存访问流水线部分构成的 9.进程的虚拟存包括和 10.核(kernel)是操作系统部核心程序,它向外部提供了对计算机核心管理调用 11.模块的装入通过insmod命令手工将module载入核和根据需要载入module 12.嵌入式操作系统要为特定的硬件设备或环境设计符合要求的图形用户界面GUI 13.在LINUX根文件系统中所有的设备文件都放在目录dev下或其子目录之下 14.X Windows 最先在Unix上使用的图形界面,由X 服务器X客户机X 协议三部分组成 15.核最后一个初始化动作是启动初始化程序(运行/sbin/init可执行文件) 16.线程共享资源的程序实体,创建一个线程系统开销要比一个进程小的多 17.核碰到错误时,会显示处理器状态,包括cpu寄存器的容和页描述表的位置 还有一些难理解的信息 18.在ARM LINUX体系中用来处理外设中断的异常模式是中断请求 19.闪存主要由NOR flash和NAND flash 20.预定义变量:将所有的外部变量表示成建环境变量,并且将错误信息表示成返回值 AS = as 指定汇编器ASFLAGS AS指令的选项设置CC = cc =gcc 指定编译器$* 没有扩展名的当前目标文件$ 当前目标文件$ < 规则的第一个依赖文件名$? 比目标文件更新的依赖文件列表$ ^ 规则的所有依赖文件列表$% 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为(image.o),则$ 为,而$% 为image.o。 二、选择题 1.处理器的型号(嵌入式和非嵌入式) ARM(XScale), EMPU,EDSP,SOC,MIPS,PowerPC,M68000,SecurCore,StrongARM ,Palm OS , Psos 2.reboot 命令可以马上重新启动正在运行的LINUX系统 3.处理器的选择要考虑的主要因素处理性能,技术指标,功耗,功率损耗检测 4.LINUX文件权限的含义(共四段) 第一位表示文件类型-表示普通文件。d表示目录文件 第二、三、四位表示文件所有者的读,写,执行权限 第五、六、七位表示文件所在属组的读,写,执行权限 第八、九、十位表示文件的其它用户的读,写,执行权限 5.用chmod命令可以更改一个文件的权限设置 6.找出一个不是LINUX设备驱动和外界的接口驱动程序与操作系统核的接口,驱动 程序与系统引导的接口,驱动程序与设备的接口 7.用Makefile命令来实现自动编译

相关文档
相关文档 最新文档