- 5
- 0
- 约3.22千字
- 约 14页
- 2018-10-11 发布于江苏
- 举报
桌面系统和多进程管理
RD Center RD * RD * RD Center 桌面系统与 多进程管理 部 门:学生客户组 报告人:胡先东 2011-3-13 目录 一、Linux的桌面环境 二、应用程序的启动 三、文档的打开 四、进程与线程 五、多进程管理 一、Linux的桌面环境 Linux 的 X Window 图形架构 Linux内核 X Window 服务器 KDE GNOME Motif 其他 Microsoft Window图形架构 Windows图形 环境 Windows内核 X Server X Protocol X Client Linux桌面环境的两大阵营 KDE/Qt:Qt基于C++语言 GNOME/GTK:GTK采用较传统的C语言 一、Linux的桌面环境 Qt 图形库(或 API) Konqueror Koffice Other K KDE 桌面环境 GTK 图形库(或 API) Naullus Evolution Other GTK KDE 桌面环境 一个简单的.desktop文件: 二、应用程序的启动 [Translation] File=XXX Context=XXX [Desktop Entry] Version=1.0 Comment[]=XXX Exec=dictionay Icon=Dictionary Name[]=Books 启动应用程序dictionary。 三、文档的打开 再看一个.desktop文件: [Translation] File=XXX Context=XXX [Desktop Entry] Version=1.0 Comment[]=XXX Exec=reader Icon=Reader MimeType=text/* Folder[]=Books Name[]=Books 系统启动时,扫描所有.desktop文件,将MIME类型与对应的应用程序关联起来。 打开文档时,根据MIME类型即可找到对应的应用程序来打开文档。 打开文档时,若对应的应用程序正在运行,则不需要重新创建应用程序的主窗口,只需调用对应应用程序的setDocument()即可打开新的文档。 四、进程与线程 进程与线程的概念 进程是资源分配的最小单位,线程时CPU调度的最小单位。 进程与线程的共性与差异 都是为了实现系统对应用的并发性。 线程的划分尺度小于进程,所以多线程程序的并发性高。 进程与线程的优劣势 1、单进程多线程 2、多进程单线程 3、单进程单线程 4、多进程多线程 进程与线程的选择 ??? Qt/Embedded客户端与服务器模型 Qt/Embedded的客户/服务器模型,与一般的客户/服务器模型概念不完全一致。它的特点是:客户端和服务器都是Qt应用程序,服务器不是独立运行的,而是附加在客户端应用程序上运行的。因此,Qt/Embedded的代码中,客户和服务器的代码在上层都基本上在一个函数中处理,用一些变量来标识是否是服务器用的代码。 客户端可以有多个,但服务器只有一个,因此,当第一个Qt应用程序运行时,它成为服务器,它除了具有一般Qt应用程序的客户端外,还增加了服务器的功能:初始化鼠标、键盘及显示设备等,建立代表显示设备及相关数据结构的DISPLAY,另外,服务器还对所有窗口进行全局管理。 客户/服务器间的通信原理如下图: 五、多进程管理 服务器与客户用一个应用程序 服务器 QWSEvent 打开的硬件设备文件(鼠标、键盘等) 将打开的设备文件描述符fd连接到socket 客户/服务器间的通信原理图 csocket csocket incoming事件队列 outcoming事件队列 QWSClient QWSClient 客户 QEvent 客户应用程序 QEvent 五、多进程管理 五、多进程管理 客户/服务器间通信是通过socket文件描述符csocket进行的。客户端及服务器通过QWSClient::sendEvent()向对方发送事件。 客户/服务器间通信说明如下: (1)服务器端: 服务器将来自鼠标、键盘等硬件设备输入的数据通过socket以事件的形式发送给客户端,另外还把服务器对窗口的全局管理方面的时间发送给客户端。同时,服务器还通过socket接收来自客户端的命令,并激活相关操作函数。 (2)客户端: 客户端将一些需要服务器处理的窗口管理及鼠标键盘命令数据通过socket以事件形式发送给服务器。同时,客户端还通过socket接收来自服务器的事件,分发给客户端相关的窗口进行处理。 2. 快速启动
原创力文档

文档评论(0)