2
3
2010
0

maemo System Software Achitecture

System Software架构分3个子系统:

(1) System Control(SC)

(2) Energy Management(EM)

(3) Power Management(PM)

System control负责设备状态管理(DSME),模式管理(MCE)和一些UI组件。另外,System Control子系统还包括硬件抽象层,maemo-launcher,alarm事件处理,时间管理,同步和profile handling(这是什么?)。System control位于用户空间。

Energy Management负责电池的充电功能。Energy Management包括电压监测,recognition(识别什么?),充电(通过USB)和充电器识别。硬件抽象层的电池插件为其他应用提供了标准的DBus接口。EM子系统位于用户空间和内核空间。

Power Management主要负责将OMAP和外围设备设置为低功耗状态。PM位于内核空间。

Category: maemo | Tags:
2
3
2010
7

maem UI Framework

UI Framework的子系统包括:

Subsystem Function
hildon-desktop OpenGL graphics API
hildon-home Home widget API and loading, notification service and plugins, background image and loading
hildon-status-menu X clipboard selection management
Hildon Input Method Localized text input UI
Control Panel Control Panel applet and loading
Startup Wizard first boot and system time setting
Startup scripts AF startup scripts
RFS and CUD framework Reset factory settings and clear user data
I18 data POSIX data

1.hildon-desktop类似于一种compositing window manager,所有的屏幕绘制工作,都是通过Clutter的画布库来完成的。hildon-desktop会将所有的已map的窗口都看作是Clutter的actor。(什么是portrait模式?)任务的启动和切换都是由hildon-desktop实现,

2.hildon-home进程实现了对home applets、notification service和背景图片的加载。存在多个home view(传说中的workspace?),用户可以滚动屏幕来选择home view。每个每个home view都有自己的一套程序,包括动态加载的home applets,小应用,X window。home view有一种布局模式,在这种模式下,窗口可以移动,resize和将他们拖动到其他home view中。hildon-home提供了notification的功能,通过Dbus session实现。

Category: maemo | Tags:
1
30
2010
4

在ubuntu中,将flv文件转换为mp4

本文将说明如何从youku上下载flv视频,并将flv转换为mp4

1.sudo apt-get install ffmpeg

2.sudo apt-get install libavcodec52

3.输入http://www.flvcd.com/ 在输入栏中输入youku视频的地址

4.将flv下载到本地

5.执行ffmpeg -i 1.flv -f avi -vcodec mpeg4 o.mp4

   即可将flv转换为mp4

6.合并视频文件

    sudo apt-get install mencoder 1900-1.mp4 1900-2.mp4 1900-3.mp4 -ovc copy -oac copy -o all.mp4

Category: linux | Tags:
1
22
2010
0

简单测试hash

 

#include <stdio.h>
#include <stdlib.h>
#include <search.h>  
#include <string.h>

#define NUM_EMPL 100000

int 
main(int argc, char * argv[])
{
    int i;
    struct timeval tv;
    struct timeval tv_e;
    
    if( (argc > 1) && (strcmp(argv[1], "hash") == 0) )
    {
        ENTRY   item;  
        ENTRY   *found_item;

        hcreate(NUM_EMPL);

        for( i = 0; i < NUM_EMPL; i++ )
        {
            item.key = (char *)malloc(16);
            item.data = (char *)malloc(16);
        
            sprintf(item.key, "%d", i);
            sprintf(item.data, "%d", i);

            hsearch(item, ENTER);
        }
    
        gettimeofday(&tv, NULL);

        item.key = "50000";

        if((found_item = hsearch(item, FIND)) != NULL)
        {
            printf( "found itaa!\n" );
        }
        else
        {
            printf( "no such data!\n" );
        }

        gettimeofday(&tv_e, NULL);
        printf("hash (%ld)us \n", (1000000*(tv_e.tv_sec - tv.tv_sec) + tv_e.tv_usec - tv.tv_usec));

    }
    else
    {
        int data_array[NUM_EMPL];
        int find_key = 50000;
    
        for(i = 0; i < NUM_EMPL; i++)
        {
            data_array[i] = i;
        }

        gettimeofday(&tv, NULL);

        for(i = 0; i < NUM_EMPL; i++)
        {
            if( data_array[i] == find_key )
            {
                printf( "found it!\n" );
                break;
            }
        }

        gettimeofday(&tv_e, NULL);
        printf("(%ld)us \n", (1000000*(tv_e.tv_sec - tv.tv_sec) + tv_e.tv_usec - tv.tv_usec));
            
    }

    
    
    return 0;
}

 

 

Category: linux | Tags:
1
20
2010
1

Maemo 5 Software Architecture

 

Category: linux | Tags:
11
6
2009
0

automake的一些问題

1.configure.in:173: warning: macro `AM_GLIB_GNU_GETTEXT' not found in library
   configure.in:510: warning: macro `AM_GCONF_SOURCE_2' not found in library

   解决:安装glib-dev和gconf-dev

Category: linux | Tags:
10
20
2009
0

ssh自动登录脚本 v0.1

#!/usr/bin/expect
set timeout 1 #设置超时阈值
set password 123456 #ssh登录密码
set ip1 "llj@10.1.4." #固定ip地址前端
spawn ssh $ip1[lindex $argv 0] #此处将命令参数进行组合,其中argv 0是第0个参数
expect "*password:" #期望一个密码
send "$password\r " #向进程发送字符串
interact


脚本完成自动登录ssh的功能

Category: linux | Tags:
9
20
2009
0

grub error 17

 ubuntu8.10在我的thinkpad sl400上经常关机异常,必须等待很久才能关掉。实在无法忍受这个漫长的等待就直接按Power键了。结果再次启动机器,到grub的时候就出现了error 17的问题。google了一下,发现解决的办法很简单,放入ubuntu 的CD Live,然后到终端,find grub stage1,结果我的机器上又出现不能找到文件系统的错误,error 15,郁闷。。。。。。。。没办法,fsck.ext3一下再说吧,完成,重启,一切恢复正常。所以,这个问题可能是根文件系统没有umount clearly导致的。

Category: linux | Tags:

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com