The *nix world is all about Unix-like systems, e.g., Linux, BSD, etc

What I’m Going to Tell You About

In the previous article we constructed the environment needed to get familiar with the kernel. Then we took a look at loadable kernel modules and wrote a simple “Hello World!”. Finally, we wrote a simple and useless file system. Now it’s time to go on.

The main aim of this article is to teach the file system to read from disk. For now it will read the operating information only (the super block and index nodes).

Doesn’t seem like much, eh? The thing is that in this post we’ll have to define the structure of our file system – the way it will be stored on disk. Besides, we’ll also get familiar with SLAB and RCU. All of this will require some explanations – a lot of words and little code. Therefore, the post will be quite long.

Read more →
  • +1
Who This Article is for

There are no complex or difficult concepts in this article, all required is a basic knowledge of the command line, the C language, Makefile and a general understanding about file systems.

In this article I am going to describe the components necessary for development inside the Linux kernel, then we’ll write the simplest loadable kernel module and, finally, write a framework for the future file system. It’s a module that will register quite a useful (for now) file system in the kernel. The ones familiar with development inside Linux kernel may not find anything interesting here.

Read more →
  • +4
Almost all PCs, released during the last few years, have had at least a dual core processor. So reader, if your PC isn’t extremely old or the bottom of the barrel budget brand, then most likely you are the owner of a multiple-processor system. Also if you like to play games, you should know you are utilizing potentially hundreds of GPU cores. But during the lion’s share of time all of these cores just gather dust. Let’s try to fix that.

Read more →
  • 0
Great find! bcat is a small utility to pipe console's output to browser. Do you have a script which outputs HTML? bcat! Do you need to preview a README file with Markdown formatting? bcat! Is your script fetching web pages and you want to see the result? bcat! Do you just simply want to say «hello world» in your browser? You know the answer, right?

Utility is compatible with Linux, Mac OS X and FreeBSD. Theoretically, it should work fine on any Unix-based platform integrated with freedesktop.org.

You can use gem to install bcat:

gem install bcat

Let's test it by opening year of 2014 calendar:

Read more →