爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2886|回复: 10

内存卡

[复制链接]
发表于 2009-6-1 22:00 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

您需要 登录 才可以下载或查看,没有账号?注册

x
我得内存卡今天无缘无故的出问题了 卡里的东西好多都看不到了只有英文开头得文件夹显示 其他得全不见了 电脑上也显示不了
 楼主| 发表于 2009-6-1 22:02 | 显示全部楼层
Mon Jun1 13:47:10 UTC 2009: Failed unmount /mmc/mmca1
PIDUid VmSize Stat Command
1 root680 S ini
2 rootSW< [k]
3 rootSW< [d]
4 rootSW< [e]
5 rootSW< [k]
6 rootSW< [k]
7 rootSW< [k]
8 rootSW[p]
9 rootSW[p]
11 rootSW< [a]
10 rootSW[k]
12 rootSW< [L]
13 rootSW< [m]
17 rootSW[k]
14 rootSW[k]
15 rootSW[k]
16 rootSW[k]
18 rootSW< [m]
43 rootSWN [j]
62 rootZ < [l]
72 rootZ [w]
77 root920 S < /us
81 rootSW< [m]
95 root732 S < /us
96 root920 S < /us
97 root920 S < /us
98 root732 S < /us
101 root488 S /us
103 root264 S /us
105 root488 S /us
111 root848 S /et
113 root712 S /bi
115 root724 S /bi
119 root660 S /bi
121 root 2652 S /bi
124 root600 S /bi
127 root848 S /et
128 root848 S /et
129 root848 S /et
130 root576 S /bi
131 root920 S < /us
132 root576 S /bi
133 root576 S /bi
134 root660 S /bi
135 root660 S /bi
136 root724 S /bi
137 root920 S < /us
138 root920 S < /us
140 root920 S < /us
139 root712 S /bi
141 root724 S /bi
142 root712 S /bi
126 root452 S /bi
147 root664 S dmi
153 root 2652 S /bi
154 root 2652 S /bi
155 root664 S /us
157 root484 S /us
159 root432 S /us
161 root476 S /et
166 root484 S /us
167 root484 S /us
188 root612 S /us
189 root264 S /et
191 root612 S /us
192 root612 S /us
193 root532 S /et
198 root680 S /us
199 root680 S /us
200 root680 S /us
202 root 1996 S /bi
203 root 1996 S /bi
205 rootZ [n]
209 root 1996 S /bi
210 root 1996 S /bi
217 rootZ < [p]
219 root732 S < /us
276 rootZ [m]
277 rootZ [m]
278 rootZ [m]
279 rootZ [m]
280 rootZ [m]
281 root 1880 R N /us
312 rootZ
322 rootZ
333 root684 S ine
523 root680 S ini
524 root784 S /bi
539 root752 S /bi
636 root680 R ps
fuser -m:281



内存卡中多了上面一个txt文档,我也看不懂?谁知道解释下谢谢了 !!!
 楼主| 发表于 2009-6-1 22:06 | 显示全部楼层
我接着查了点资料 如下:::



uclinux的启动主要分为两个阶段:
第一部分bootloader启动阶段
第二部分linux 内核初始化和启动阶段
第一节:start_kernel
第二节:用户模式( user_mode )开始,start_kernel结束
第三节:加载linux内核完毕,转入cpu_idle进程
系统启动过程中进程情况:

① init进程


般来说, 系统在跑完 kernel bootstrapping
内核引导自举后(被装入内存、已经开始运行、已经初始化了所有的设备驱动程序和数据结构等等), 就去运行 init『万process之父』,
有了它, 才能开始跑其他的进程,因此,init进程,它是内核启动的第一个用户级进程,它的进程号总是1。你可以用进程查看命令来验证:
# ps aux
PID Uid VmSize Stat Command
1 0 SW init
2 0 SW [keventd]
3 0 SWN [ksoftirqd_CPU0]
4 0 SW [kswapd]
5 0 SW [bdflush]
6 0 SW [kupdated]
7 0 SW [rbwdg]
9 0 SW [mtdblockd]
10 0 SW [khubd]
80 0 SW [loop0]

另外 Linux 有两个
kernel 类的 process 也开始跑了起来,一个是 kflushd/bdflush,另一个是 kswapd。只有这个 init
是完全属于 user 类的进程, 后两者是 kernel假借 process 进程之名挂在进程上。

init
有许多很重要的任务,比如象启动getty(用于用户登录)、实现运行级别、以及处理孤立进程。init 一开始就去读 /etc/inittab
(init初始化表),初始化表是按一定格式排列的关于进程运行时的有关信息的。init程序需要读取/etc/inittab文件作为其行为指针。这个
inittab 中对于各个runlevel运行级别要跑哪些 rc 或 spawn 生出什么有很清楚的设定。


般, 在Linux中初始化脚本在/etc/inittab
文件(或称初始化表)中可以找到关于不同运行级别的描述。inittab是以行为单位的描述性(非执行性)文本,每一个指令行都是固定格式。
inittab中有respawn项,但如果一个命令运行时失败了,为了避免重运行的频率太高,init将追踪一个命令重运行了多少次,并且如果重运行的
频率太高,它将被延时五分钟后再运行。

② kernel进程

A> 请注意init是1号进程,其他进程id分别是kflushd/ bdflush, kupdate, kpiod and kswapd。这里有一个要指出的:你会注意到虚拟占用(SIZE)和实际占用(RSS)列都是0,进程怎么会不使用内存呢?

这些进程就是内核守护进程。大部分内核并不显示在进程列表里。守护进程在init之后启动,所以他们和其他进程一样有进程ID,但是他们的代码和数据都存放在内核占有的内存中。在列表中使用中括号来区别与其他进程。

B>
输入和输出是通过内存中的缓冲来完成的,这让事情变得更快,程序的写入会存放在内存缓冲中,然后再一起写入硬盘。守护进程kflushd和kupdate
管理这些工作。kupdate间断的工作(每5秒)来检查是否有写过的缓冲,如过有,就让kflushd把它们写入磁盘。

C>
进程有时候无事可做,当它运行时也不一定需要把其所有的代码和数据都放在内存中。这就意味着我们可以通过把运行中程序不用的内容切换到交换分区来更好的是
利用内存。把这些进程数据移入/移出内存通过进程IO管理守护进程kpiod和交换守护进程kswapd,大约每隔1秒,kswapd醒来并检查内存情
况。如果在硬盘的东西要读入内存,或者内存可用空间不足,kpiod就会被调用来做移入/移出操作。

D>
bdflush - BUF_DIRTY, 将dirty缓存写回到磁盘的核心守护进程。
对于有许多脏的缓冲区(包含必须同时写到磁盘的数据的缓冲区)的系统提供了动态的响应。它在系统启动的时候作为一个核心线程启动,它叫自己为
“kflushd”,而这是你用ps显示系统中的进程的时候你会看得的名字。即定期(5秒)将脏(dirty)缓冲区的内容写入磁盘,以腾出内存;

E>
ksoftirqd_CPUx 是一个死循环,
负责处理软中断的。它是用来对软中断队列进行缓冲处理的进程。当发生软中断时,系统并不急于处理,只是将相应的cpu的中断状态结构中的active
的相应的位,置位,并将相应的处理函数挂到相应的队列,然后等待调度时机来临,再来处理。

ksoftirqd_CPUx是由 cpu_raise_softirq() 即cpu触发中断,唤醒的内核线程,这涉及到软中断,ksoftirqd的代码参见 [kernel/softirq.c]。

F> keventd,它的任务就是执行 scheduler 调度器队列中的任务,keventd 为它运行的任务提供了可预期的进程上下文。

G> khubd, 是用来检测USB hub设备的,当usb有动态插拔时,将交由此内核进程来处理。在检测到有hub事件时会有相应的动作(usb_hub_events())

H>
mtdblockd是用来对flash块设备进行写操作的守护进程。NAND类型的Flash需要MTD(Memory Technology
Devices 内存技术驱动程序)驱动的支持才能被linux所使用。NAND的特点是不能在芯片内执行(XIP,eXecute In
Place),需要把代码读到系统RAM中再执行,传输效率不是最高,最大擦写次数量为一百万次,但写入和擦除的速度很快,擦除单元小,是高数据存储密度
的最佳选择。NAND需要I/O接口,因此使用时需要驱动程序。

I> loop0
是负责处理loop块设备的(回环设备)。loopback device指的就是拿文件来模拟块设备,
在我们这里,loop设备主要用来处理需要mount到板上的文件系统,类似mount /tmp/rootfs /mnt -o
loop。.我们的实例有:mount -o loop -t cramfs /xxx.bin /xxx
也就是将xxx.bin这个文件mount到板上来模拟cramfs压缩ram文件系统。loop0进程负责对loop设备进行操作。

loopback设备和其他的块设备的使用方法相同。特别的是,可以在该设备上建立一个文件系统,然后利用mount命令把该系统映射到某个目录下以便访问。这种整个建立在一个普通磁盘文件上的文件系统,就是虚拟文件系统 (virtual file system)。
 楼主| 发表于 2009-6-1 22:09 | 显示全部楼层
系统启动过程中进程情况:

①init进程

一般来说, 系统在跑完 kernel bootstrapping 内核引导自举后(被装入内存、已经开始运行、已经初始化了所有的设备驱动程序和数据结构等等), 就去运行 init『万process之父』, 有了它, 才能开始跑其他的进程,因此,init进程,它是内核启动的第一个用户级进程,它的进程号总是1。

你可以用进程查看命令来验证

# ps aux

PID Uid VmSize Stat Command

1 0 SW init

2 0 SW [keventd]

3 0 SWN [ksoftirqd_CPU0]

4 0 SW [kswapd]

5 0 SW [bdflush]

6 0 SW [kupdated]

7 0 SW [rbwdg]

9 0 SW [mtdblockd]

10 0 SW [khubd]

80 0 SW [loop0]



另外 Linux 有两个 kernel 类的 process 也开始跑了起来,一个是 kflushd/bdflush,另一个是 kswapd;

只有这个 init 是完全属于 user 类的进程, 后两者是 kernel假借 process 进程之名挂在进程上。

init有许多很重要的任务,比如象启动getty(用于用户登录)、实现运行级别、以及处理孤立进程。

init 一开始就去读 /etc/inittab (init初始化表),初始化表是按一定格式排列的关于进程运行时的有关信息的。init程序需要读取/etc/inittab文件作为其行为指针。这个 inittab 中对于各个runlevel运行级别要跑哪些 rc 或 spawn 生出什么有很清楚的设定。

一般, 在Linux中初始化脚本在/etc/inittab 文件(或称初始化表)中可以找到关于不同运行级别的描述。inittab是以行为单位的描述性(非执行性)文本,每一个指令行都是固定格式

inittab中有respawn项,但如果一个命令运行时失败了,为了避免重运行的频率太高,init将追踪一个命令重运行了多少次,并且如果重运行的频率太高,它将被延时五分钟后再运行。

② kernel进程

A> 请注意init是1号进程,其他进程id分别是kflushd/ bdflush, kupdate, kpiod and kswapd。这里有一个要指出的:你会注意到虚拟占用(SIZE)和实际占用(RSS)列都是0,进程怎么会不使用内存呢?

这些进程就是内核守护进程。大部分内核并不显示在进程列表里。守护进程在init之后启动,所以他们和其他进程一样有进程ID,但是他们的代码和数据都存放在内核占有的内存中。在列表中使用中括号来区别与其他进程。

B> 输入和输出是通过内存中的缓冲来完成的,这让事情变得更快,程序的写入会存放在内存缓冲中,然后再一起写入硬盘。守护进程kflushd和kupdate 管理这些工作。kupdate间断的工作(每5秒)来检查是否有写过的缓冲,如过有,就让kflushd把它们写入磁盘。

C> 进程有时候无事可做,当它运行时也不一定需要把其所有的代码和数据都放在内存中。这就意味着我们可以通过把运行中程序不用的内容切换到交换分区来更好的是利用内存。把这些进程数据移入/移出内存通过进程IO管理守护进程kpiod和交换守护进程kswapd,大约每隔1秒,kswapd醒来并检查内存情况。如果在硬盘的东西要读入内存,或者内存可用空间不足,kpiod就会被调用来做移入/移出操作。

D> bdflush - BUF_DIRTY, 将dirty缓存写回到磁盘的核心守护进程。 对于有许多脏的缓冲区(包含必须同时写到磁盘的数据的缓冲区)的系统提供了动态的响应。它在系统启动的时候作为一个核心线程启动,它叫自己为“kflushd”,而这是你用ps显示系统中的进程的时候你会看得的名字。即定期(5秒)将脏(dirty)缓冲区的内容写入磁盘,以腾出内存;

E> ksoftirqd_CPUx 是一个死循环, 负责处理软中断的。它是用来对软中断队列进行缓冲处理的进程。当发生软中断时,系统并不急于处理,只是将相应的cpu的中断状态结构中的active 的相应的位,置位,并将相应的处理函数挂到相应的队列,然后等待调度时机来临,再来处理.

ksoftirqd_CPUx是由cpu_raise_softirq()即cpu触发中断,唤醒的内核线程,这涉及到软中断,ksoftirqd的代码参见 [kernel/softirq.c]

F> keventd,它的任务就是执行 scheduler 调度器队列中的任务,keventd 为它运行的任务提供了可预期的进程上下文。

G> khubd, 是用来检测USB hub设备的,当usb有动态插拔时,将交由此内核进程来处理。在检测到有hub事件时会有相应的动作(usb_hub_events())

H> mtdblockd是用来对flash块设备进行写操作的守护进程。

NAND类型的Flash需要MTD(Memory Technology Devices 内存技术驱动程序)驱动的支持才能被linux所使用。

NAND的特点是不能在芯片内执行(XIP,eXecute In Place),需要把代码读到系统RAM中再执行,传输效率不是最高,最大擦写次数量为一百万次,但写入和擦除的速度很快,擦除单元小,是高数据存储密度的最佳选择。

NAND需要I/O接口,因此使用时需
发表于 2009-6-1 22:30 | 显示全部楼层
首先确定一下,你在电脑上右击内存卡,看属性,有多大?如果很大,说明里面有文件,你可以试着用数据恢复软件,去恢复!
那个软件,你自己去百度下吧·
发表于 2009-6-1 23:11 | 显示全部楼层
杀一下毒试试?呵呵呵...
麦田的守望者 该用户已被删除
发表于 2009-6-2 00:47 | 显示全部楼层
那么多~~~
发表于 2009-6-2 01:57 | 显示全部楼层
我QQ装在内存卡也经常打不开...........
发表于 2009-6-2 06:54 | 显示全部楼层
路过帮顶
发表于 2009-6-2 09:31 | 显示全部楼层
[s:72][s:72]
 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-5-8 19:13 , Processed in 0.062172 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表