The VFS layer, struct file_operations, struct file and struct inode.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 7 Dec 2009 02:24:21 +0000 (00:24 -0200)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Mon, 7 Dec 2009 02:24:21 +0000 (00:24 -0200)
02.vfs/02.vfs.xml [new file with mode: 0644]
02.vfs/Makefile [new file with mode: 0644]

diff --git a/02.vfs/02.vfs.xml b/02.vfs/02.vfs.xml
new file mode 100644 (file)
index 0000000..ed6f72c
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE slides SYSTEM "/usr/share/xml/docbook/custom/slides/3.3.1/schema/dtd/slides-full.dtd">
+
+<slides>
+
+<slidesinfo>
+<title>Virtual File System</title>
+<author><firstname>Thadeu</firstname><surname>Cascardo</surname></author>
+</slidesinfo>
+
+<foil>
+<title>Introduction</title>
+<para>
+The virtual file system is the hub for almost all operations in a Linux-based
+system. It allows IPC with pipes, access to devices, including storage through
+regular files and organization with directories.
+</para>
+</foil>
+
+<foil>
+<title>Everything is a file</title>
+<para>
+In Unix, there's a say: "everything is a file, if it's not a file, it's a
+process". Well, most things are really files, and that's why the VFS is at the
+center of the system, including for device drivers.
+</para>
+</foil>
+
+<foil>
+<title>Special files, procfs and others</title>
+<para>
+When handling with special files (character and block device nodes), procfs
+files and others, we'll use some common structures. These include the
+<emphasis>struct file\_operations</emphasis>, <emphasis>struct file</emphasis>
+and <emphasis>struct inode</emphasis>.
+</para>
+</foil>
+
+</slides>
diff --git a/02.vfs/Makefile b/02.vfs/Makefile
new file mode 100644 (file)
index 0000000..a7a7fc7
--- /dev/null
@@ -0,0 +1,13 @@
+NAME = 02.vfs
+
+all: $(NAME).pdf
+
+%.pdf: %.tex
+       TEXINPUTS=.:..: pdflatex $<
+
+%.tex: %.xml ../beamer.xsl
+       xsltproc ../beamer.xsl $< > $@
+
+clean:
+       rm -f $(NAME).pdf $(NAME).tex $(NAME).aux $(NAME).log $(NAME).nav \
+               $(NAME).out $(NAME).snm $(NAME).toc $(NAME).vrb