Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
BSD的一些代码分析
发布于 2008-05-22 21:55:04 浏览:17284
订阅该版
分析BSD内核代码的流水帐贴,相应的部分不断更新完善 --- src\sys\kern目录文件分类 ``` bufq_disksort.c -- Seek sort for disks. bufq_fcfs.c -- First-come first-served sort for disks. core_elf32.c -- Support for the Elf32/Elf64(64?) core file format. core_netbsd.c -- Support for the historic NetBSD core file format. exec_aout.c -- exec_conf.c -- exec_elf32.c -- exec_script.c -- exec_subr.c -- ```
查看更多
8
个回答
默认排序
按发布时间排序
layer2
2008-05-25
这家伙很懒,什么也没写!
the important files in the kern as below(可能有不精确的,代后会更正 ): - bufq_disksort.c --- Seek sort for disks - bufq_fcfs.c --- First-come first-served sort for disks - cnmagic.c --- magic string - core_elf32.c --- Support for the Elf32/Elf64 core file format - core_elf64.c --- Support for the Elf32/Elf64 core file format - core_netbsd.c --- Support for the historic NetBSD core file format - exec_aout.c --- Support for out executable format - exec_conf.c --- Build in functions of supporting xx executable format.exec switch - exec_elf32.c --- Support for elf32 executable format - exec_elf64.c --- Support for elf64 executable format - exec_script.c --- support for script executable format - exec_subr.c --- vm function support for exec_xx.c(setup the virtual memory space and to load the program code and data sections) - init_main.c --- System startup; initialize the world, create process 0, mount root filesystem, and fork to create init and pagedaemon. Most of the hard work is done in the lower-level initialization routines including startup(), which does memory initialization and autoconfiguration. - init_sysctl.c --- init system control - init_sysent.c --- System call switch table. - kern_acct.c --- simplify accounting operations, this mechanism should be replaced by one in which an accounting log file - kern_auth.c --- Authorize a request by credential - kern_clock.c --- Clock handling routines - kern_descrip.c --- Descriptor management. - kern_event.c --- An array containing for each system call an entry with the number of arguments, the size of the system call arguments structure, and a pointer to the function that implements the system call in the kernel - kern_exec.c --- entry of execve switch and init execve switchs - kern_exit.c --- a suit of exiting function about kern - kern_fork.c --- system fork - kern_kthread.c --- functions about kthread creating and destroying - kern_ktrace.c --- operations to ktrace system call - kern_lock.c --- kernel lock - kern_lwp.c --- Support a light-weight process - kern_malloc.c --- Functions about kernel memory malloc and free - kern_ntptime.c --- These routines constitute the Network Time Protocol (NTP) interfaces for user and daemon application programs - kern_physio.c --- Raw Devices and Physical I/O - kern_proc.c --- management about process - kern_prot.c --- System calls related to processes and protection - kern_ras.c --- restartable atomic sequences - kern_resource.c --- Resource controls and accounting. - kern_sa.c --- the scheduler activation implementation that permits efficent management of concurrency - kern_sig.c --- kernel signal - kern_subr.c --- kern subroutines including hook, trace ,device .. - kern_synch.c --- Scheduling algorithms - kern_sysctl.c --- kern system control,sysctl system call. - kern_tc.c --- kern timer counter - kern_time.c --- Time of day and interval timer support. - kern_timeout.c --- Timeouts are kept in a hierarchical timing wheel. The c_time is the value of the global variable ""hardclock_ticks"" when the timeout should be called. - kern_todr.c --- time-of-day clock support - kern_uuid.c --- support uuid (Universally Unique IDentifier) - kern_xxx.c --- system reboot (the reason that the name is XXX ??) - subr_autoconf.c --- Autoconfiguration subroutines. - subr_blist.c --- Bitmap allocator/deallocator, using a radix tree with hinting - subr_bufq.c --- support device buffer queue - subr_callback.c --- support callback - subr_devsw.c --- New device switch framework is developing. So debug options are always turned on. - subr_disk.c --- subroutine about disk - subr_evcnt.c --- generic event counter framework - subr_extent.c --- General purpose extent manager. - subr_iostat.c --- support the i/o statistics - subr_kmem.c --- allocator of kernel wired memory. - subr_log.c --- Error log buffer for kernel printf's. - subr_once.c --- support Running a function exactly once - subr_optstr.c --- The options string management functions - subr_pool.c --- Pool resource management utility. - subr_prf.c --- printf - subr_prof.c --- system profiling - subr_specificdata.c --- support specificdata - subr_userconf.c --- user conf function suit - subr_vmem.c --- Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources - subr_workqueue.c --- support work queue ( Enqueue the work wk into the workqueue wq) - subr_xxx.c --- Miscellaneous trivial functions, including many that are often inline-expanded or done in assembler. - sys_generic.c --- generic functions - sys_pipe.c --- This file contains a high-performance replacement for the socket-based pipes scheme originally used in FreeBSD/4.4Lite. - sys_pmc.c --- support performance-monitoring counter - sys_process.c --- support process trace - sys_socket.c --- support socket - syscalls.c --- system call - sysv_ipc.c --- support ipc - sysv_msg.c --- support msg - sysv_sem.c --- suppoort sem - sysv_shm.c --- support shm - tty.c --- support tty - tty_bsdpty.c --- support tty - tty_conf.c --- support tty - tty_ptm.c --- pty multiplexor driver - tty_pty.c --- Pseudo-teletype Driver - tty_subr.c --- support tty - tty_tty.c --- Indirect driver for controlling tty. - uipc_domain.c --- network domain management - uipc_mbuf.c --- memory management in the kernel IPC subsystem - uipc_mbuf2.c --- memory management in the kernel IPC subsystem - uipc_proto.c --- Definitions of protocols supported in the UNIX domain - uipc_sem.c --- uipc semphore for socket - uipc_socket.c --- Socket operation routines. These routines are called by the routines in sys_socket.c or from a system process, and implement the semantics of socket operations by switching out to the protocol specific routines. - uipc_socket2.c --- Primitive routines for operating on sockets and socket buffers - uipc_syscalls.c --- System call interface to the socket abstraction. - uipc_usrreq.c --- UNIX domain sockets - vfs_bio.c --- support vfs, realization of the buffer zone management - vfs_cache.c --- vfs name cache - vfs_getcwd.c --- Gets the current working directory - vfs_hooks.c --- VFS hooks. - vfs_init.c --- vfs init, Allocate and fill in operations vectors. - vfs_lockf.c --- record locking on (vf)files - vfs_lookup.c --- lookup function - vfs_subr.c --- External virtual filesystem routines - vfs_syscalls.c --- Virtual File System System Calls - vfs_vnops.c --- vnode operations - vfs_xattr.c --- VFS extended attribute support. - vnode_if.c --- Vnode Operations
bernard
2008-05-25
这家伙很懒,什么也没写!
subr_vmem.c --- Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources 其中说到的论文: Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources [http://www.usenix.org/event/usenix01/full_papers/bonwick/bonwick.pdf](http://www.usenix.org/event/usenix01/fu ... onwick.pdf) 具体subr_vmem.c是干什么的还得仔细看看。
bernard
2008-06-06
这家伙很懒,什么也没写!
vmem : fast, general resource allocation The slab allocator caches relatively small objects and relies on a more general-purpose backing store to provide slabs and satisfy large allocations. vmem is a new resource allocator that can manage arbitrary sets of integers - anything from virtual memory addresses to minor device numbers to process IDs. vmem acts as a universal backing store for the slab allocator, and provides resource allocation problems. vmem appears to be the first resource allocator that can satisfy allocations and frees of any size in guaranteed constant time. vmem :快速,通用的资源分配器 slab分配器缓存相对较小的物体,并依赖于一个更通用的后端存储以提供片及满足大内存块分配。 vmem是一种新的资源配置器,可以管理任意整数-任何从虚存地址,次编号的设备号,到进程ID等整数。 vmem能够为slab分配器提供一个统一的存储后端,并解决资源分配的问题。vmem几乎是第一个保证在常数时间内满足任何大小分配和释放的资源配置器。
liyun
2010-08-28
这家伙很懒,什么也没写!
我进来没看懂一半,英语不好. [s:182] 为什么会这样呢?难道发贴的人中文不好,所以写不了中文???????????????开个玩笑! [s:186] 在中国会单片机编程的,但又不精通英文的不在少数? [s:195] 难道RT-Thread的作者们想设一道门槛,滤掉我们这群人? 为了让更多的人了解RT-Thread,请使用中文!!!!!!
aozima
2010-08-28
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>我进来没看懂一半,英语不好. [s:182] >为什么会这样呢?难道发贴的人中文不好,所以写不了中文???????????????开个玩笑! [s:186] > >在中国会单片机编程的,但又不精通英文的不在少数? > [s:195] 难道RT-Thread的作者们想设一道门槛,滤掉我们这群人? > > > > > > > > > >为了让更多的人了解RT-Thread,请使用中文!!!!!! --- 开始跟你一样的想法... 后来发现从技术角度上讲.只有认英文才能看到好的代码. 不然.你先让BSD的代码全写成中文的.. [s:175]
bernard
2010-08-29
这家伙很懒,什么也没写!
>我进来没看懂一半,英语不好. [s:182] >为什么会这样呢?难道发贴的人中文不好,所以写不了中文???????????????开个玩笑! [s:186] > >在中国会单片机编程的,但又不精通英文的不在少数? > [s:195] 难道RT-Thread的作者们想设一道门槛,滤掉我们这群人? > >为了让更多的人了解RT-Thread,请使用中文!!!!!! --- 难道ls没见到过《RT-Thread编程指南》的那本300多页的电子书?
mbbill
2010-08-30
这家伙很懒,什么也没写!
>我进来没看懂一半,英语不好. [s:182] >为什么会这样呢?难道发贴的人中文不好,所以写不了中文???????????????开个玩笑! [s:186] > >在中国会单片机编程的,但又不精通英文的不在少数? > [s:195] 难道RT-Thread的作者们想设一道门槛,滤掉我们这群人? > >为了让更多的人了解RT-Thread,请使用中文!!!!!! --- 这问号叹号用的。。。。看得我心惊肉跳的。。。
撰写答案
登录
注册新账号
关注者
0
被浏览
17.3k
关于作者
bernard
这家伙很懒,什么也没写!
提问
414
回答
5943
被采纳
76
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【NXP-MCXA153】 定时器驱动移植
2
GD32F450 看门狗驱动适配
3
【NXP-MCXA153】看门狗驱动移植
4
RT-Thread Studio V2.2.9 Release Note
5
CherryUSB的bootuf2配置
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
7
个答案
2
次被采纳
a1012112796
16
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
8
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部