One of the most important tasks of the kernel, in a client-server model, is to provide a means for clients and servers to send and receive messages. Clients need to be able to talk to servers, servers need to be able to talk back to clients, and servers need to talk to servers.
I. Communication Mechanisms
There are four parts to this communication infrastructure:
When a process that wants to be a server is created, it requests a port number from the kernel. Ports are the endpoints where clients and servers send their messages, kind of like a mailbox address. Each port has its own queue of messages being sent to, or returned by, the server.
When the computer is powered up, after the initial hardware scan and gathering, the BIOS then checks which device contains the boot information. This could be a floppy disk, CD-ROM, or typically, the primary hard drive. The first sector (bootsector) is read. The small program in this area reads a partition table that is kept at the end of the sector. This table has all of the hard drives, their partitions, and their purpose, listed. The one it looks for, specifically, is the one designated as the boot partition. Then, this little program turns over control to another program, called the bootloader, loading it from that boot partition and subsequently running it.
The Operating System (OS) is the software that pulls together all of the hardware components, processors, disks, memory, etc., into a cohesive interface for all users and programs to use. The kernel is the name for the core of the operating system: the program that handles all the software-components controlling the hardware.
Things that the kernel implements are considered to be in kernel space. Everything else, outside of the kernel, is considered user space, and is where software that uses the kernel’s interface runs (managing files, graphical interface, games, word processing, etc).
Boot loader is a small piece of software that is required to perform the basic hardware and peripheral initialization and load the kernel to RAM. For the Tizen platform, the boot loader comes in two parts. The first part is the primary boot loader and the second part is the secondary boot loader. The primary boot loader is the Samsung proprietary boot loader and is also called s-boot. The secondary boot loader is the open source boot loader u-boot, which is customized further for the Tizen platform.
In this small article you will be able to find out information about the two development devices created by Samsung for the Tizen OS. Keep in mind that RD-PQ is also called M0 internally at Samsung.
In the previous articles I showed you how to install Tizen 2.3.1 on a Samsung RD-PQ developer device, enable WiFi connection, connect to a WiFi network and install SSH server so you can remotely connect to your phone via your favorite SSH client. In this article I’m going to show you how to customize your Tizen OS and rid it of unnecessary packages, runtime systemd scripts, Xorg UI and many more.