Monday, February 25, 2008

ACM Classics

http://www.acm.org/classics/

Function Ptrs in the C/C++ languages

In the C/C++ languages, the notion of function ptrs has been used only in a limited way, to my thought, though they provide quite a expressive setting. This is thought to be due to the cumbersome and/or difficult syntax for writing functions ptrs and their types.

To relieve this problem, a nice tutorial is given by Lars Haendel:

The Function Pointer Tutorials
- http://www.newty.de/zip/e_fpt.pdf


* Should correct something with sidebars!
==
type-name: (type-specifier type-qualifier)+ abstract-declarator?

type-specifier: ("void" "char" "short" "int" "long" "float" "double" "signed" "unsigned" struct-or-union-specifier enum-specifier typedef-name)

type-qualifier: ("const" "volatile")

abstract-declarator: pointer ("(" abstract-declarator ")")? ( "[" constant-expression? "]" "(" parameter-type-list? ")" )*

enum-specifier: "enum" (identifier identifier? "{" enumerator% "}")

enumerator: identifier ("=" constant-expression)?

struct-or-union-specifier: ("struct" "union") ( identifier? "{" struct-declaration+ "}" identifier )

struct-declaration: (type-specifier type-qualifier)+ struct-declarator%

struct-declarator: declarator declarator? ":" constant-expression

pointer: ("*" type-qualifier*)*

parameter-type-list: parameter-declaration% ("," "...")?

parameter-declaration: declaration-specifiers (declarator abstract-declarator)?

==

Kernel 교육

elayer.co.kr 자료

History of Linux File Systems

History of Linux File Systems

* Minix file system [????]
- Max file size: 64M
- Max file name length: 14 chars
- 16bit operations used internally

* EXT (Extended file system) [1992]
- 32bit file system to support 32bit Linux OS
- Max file size: 2G
- Max file name length: 255 chars

* EXT2 [1993]
- Some features of FFS (Fast File System) in BSD
- Weakness of the file system particularly when OS goes down abruptly with no run of shutdown

* reiserfs
- Max file size : 8T
- Journaling file system
- Fast speed by recording only meta data
- Tail packing to relive the internal fragmentation problem due to less than 4k bytes files such as in web server, news server, and mail server
- Hans Reiser, DARPA

* EXT3 [2001]
- EXT2+ journaling feature
- 3-level journaling. More stable but 10 to 15 times slower than reiserfs
- compatible with EXT2 (tune2fs)
- Max file size 16G (4k file block size), 32T (4M file block size)