Showing posts with label brief. Show all posts
Showing posts with label brief. Show all posts

Thursday, June 22, 2017

Posted by beni in , , , , , , | June 22, 2017

A brief tutorial on GRUB boot loader


A boot loader is a software program that runs when a computer boot. Its responsible for loading and transferring control to an operating system kernel software. The kernel, in turn, initializes the rest of the operating system. 
GRUB (GRand Unified Boot-loader) or GNU GRUB is a very powerful multi-boot loader, which can load a wide variety of free operating systems, as well as proprietary operating systems with chain-loading. GRUB is designed to address the complexity of booting a personal computer. One of the important features in GRUB is flexibility; GRUB understands filesystems and kernel executable formats, so you can load an arbitrary operating system the way you like, without recording the physical position of your kernel on the disk. Thus you can load the kernel just by specifying its file name and the drive and partition where the kernel resides.
When booting with GRUB, you can use either a command-line interface or a menu interface. Using the command-line interface, you type the drive specification and file name of the kernel manually. In the menu interface, you just select an OS using the arrow keys. The menu is based on a configuration file which you prepare beforehand. While in the menu, you can switch to the command-line mode and vice-versa. You can even edit menu entries before using them.

Contents of GRUB
Installed programs:              
grub-bios-setup, grub-editenv, grub-fstest, grub-install, grub-kbdcomp, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, grub-ofpathname, grub-probe, grub-reboot, grub-script-check, grub-set-default, grub-sparc64-setup


Installed directories:                
/usr/lib/grub, /etc/grub.d, /usr/share/grub, /boot/grub

Short Descriptions
grub-bios-setup                 Is a helper program for grub-install
grub-editenv                      A tool to edit the environment block
grub-fstest                         Tool to debug the filesystem driver
grub-install                        Install GRUB on your drive
grub-kbdcomp                   Script that converts an xkb layout into one recognized by GRUB
grub-menulst2cfg              Converts a GRUB Legacy menu.lst into a grub.cfg for use with GRUB 2
grub-mkconfig                   Generate a grub config file
grub-mkimage                   Make a bootable image of GRUB
grub-mklayout                   Generates a GRUB keyboard layout file
grub-mknetdir                   Prepares a GRUB netboot directory
grub-mkpasswd-pbkdf2    Generates an encrypted PBKDF2 password for use in the boot menu
grub-mkrelpath                 Makes a system pathname relative to its root
grub-mkrescue                  Make a bootable image of GRUB suitable for a floppy disk or CDROM/DVD
grub-mkstandalone           Generates a standalone image
grub-ofpathname               Is a helper program that prints the path of a GRUB device
grub-probe                         Probe device information for a given path or device
grub-reboot                        Sets the default boot entry for GRUB for the next boot only
grub-script-check              Checks GRUB configuration script for syntax errors
grub-set-default                 Sets the default boot entry for GRUB
grub-sparc64-setup           Is a helper program for grub-setup

EDIT GRUB File
GRUB configuration file is located in grub directory. Pathname: /boot/grub/grub.cfg. This file is required when you want to change the order in boot menu.

Sunday, May 21, 2017

Posted by beni in , , , , , , , , , | May 21, 2017

A brief history of why integrated graphics got a bad rep


When laptops first came out, they were purely no-nonsense, business machines - used mainly for work, running programs made for the usual work loads such as word processing, spreadsheets and slideshows. Games werent a concern for the people who bought these laptops and as such, there was no need to address the compatibility of such laptops to certain gaming requirements.

Over the course of time, laptops have crossed over from being a work-related machine to a study-related one as well. As laptop technology improved, prices went from unreasonable to affordable. In addition to this, the internet has grown to be a powerful tool in research for students and teachers alike. With these developments, the laptop became a necessity for people, rather than a luxury.

Of course, students dont just work... they play too. And with this, came the requests for better graphics solutions to replace the ordinary ones that usually came with the mainstream laptops.

This demand was addressed by integrated graphics solutions:

Integrated graphics solutions, or shared graphics solutions are graphics processors that utilize a portion of a computers system RAM rather than dedicated graphics memory. Computers with integrated graphics account for 90% of all PC shipments. These solutions are cheaper to implement than dedicated graphics solutions, but are less capable. Historically, integrated solutions were often considered unfit to play 3D games or run graphically intensive programs such as Adobe Flash. (Examples of such IGPs would be offerings from SiS and VIA circa 2004.) However, todays integrated solutions such as the Intels GMA X3100 series (Intel GL960 & GM965 chipset), AMDs Radeon HD 3200 (AMD 780G chipset) and NVIDIAs GeForce 8200 (NVIDIA nForce 730a)are more than capable of handling 2D graphics from Adobe Flash or low stress 3D graphics. However, the aforementioned GPUs still struggle with high-end video games.

Previously, the early solutions made by VIA and SIS fell way short of their discrete counterparts (by discrete, we mean dedicated graphics cards, those with separate graphics memory chips for exclusive use of the GPU). People started to try playing games on their laptops which they played on their desktops. Naturally, some worked fine, but a lot didnt. This didnt discourage the hardcore users though, some came up with emulators which allowed one to play without the necessary hardware requirements, albeit with a drastic cut in quality, but nevertheless got the point across: mobile gaming was a possibility.

When Intel made their own solution, it was the "Intel Extreme Graphics". This brought about some improvements in graphics, but not enough to consider any game "acceptably playable". This technology apparently wasnt enough so they replaced it with the GMA line.

The GMA 900 was the first graphics core produced under Intels Graphics Media Accelerator product name, and was incorporated in the Intel 910G, 915G, and 915Gx chipsets.

The GMA 950 is Intels second-generation Graphics Media Accelerator graphics core, which was also referred by Intel as Gen 3.5 Integrated Graphics Engine in datasheets. It is used in the Intel 940GML, 945G, 945GU and 945GT system chipsets.

The GMA X3100 is the mobile version of the GMA X3000 used in the Intel GL960 and GM965 chipsets and is the fourth generation. The X3100 differs in a lot of ways such as it supports hardware transform and lighting, up to 128 programmable shader units, Direct X 10, and up to 384 MB memory, in addition to other improvements.

Throughout the early course of these developments, gaming has always been seen as unacceptable for such solutions which gave rise to the notion that if you didnt have a dedicated graphics card, there would be NO CHANCE that you can play a decent game. This has significantly changed with the 950 and x3100 series.

This is why Ive put up this blog - to dispel the notion that those people who have the integrated solutions wont be able to enjoy gaming on their laptops. Ill be putting tips and tricks on how to make the most out of the X3100 for gaming.

Drop by every now and then, try the tips and get your game on.

Sunday, May 7, 2017

Posted by beni in , , , , , , | May 07, 2017

A hopefully brief definition of biological noise


Some years ago I took a course in Systems Biology (or, better, in mathematical modeling of biological systems). One day, the teacher introduced the notion of "biological noise", which was directly linked to the - imho, obvious - concept that every cellular system behaves in a fundamentally stochastic way.

Many of my biologist colleagues, however, were a little confused by how a real cell, which indeed has a very precise organization and purpose, could be working based on stochastic molecular processes. As I searched the internet for a concise and precise definition of this apparently-odd "biological noise" idea, I also found that it has been widely cited in biological literature, but apparently never really explained from scratch.

Therefore, in my master degree thesis (which, perhaps unfortunately for me, dealt with mathematical modeling of biological systems :D), I decided to spend a couple of words on the topic. Reading it after some time, I reckon that my explanation was a little naive and maybe "shallow" for an expert in the field. Anyway, I decided to repost it here, in the (vain?) hope that it could be useful for someone just approaching to the idea that biological systems are indeed not as deterministic as they might seem :).

What is biological noise?


If cellular systems functioned in a deterministic way, each cell from a genetically identical population, exposed to an identical environment, should display an identical phenotype and an identical quantity of every cellular component. However, the intracellular concentration of biomolecules can notably vary from cell to cell, even in the absence of any genetic mutations [1, 2, 3, 4]. This observation has led to the de?nition of the so-called biological (or cellular) noise, which is the variation in the quantity of a particular cellular component (generally, a protein) observed in the different members of a clonal population of cells.

The main cause of biological noise is the fact that the production and degradation of cellular components are stochastic processes, which depend on random collisions among molecules. Due to the small molecular concentrations reached inside a cell, the randomness of these collisions becomes highly in?uential on the outcome of these reactions. Note that the word stochastic does not mean that a cellular system behaves in a totally random way; it just means that it is impossible to determine with absolute certainty how the system will evolve from a certain initial state. Even if some events can be �more probable� than others, depending on the physico-chemical properties of the involved species, the global state of the system will always present a certain degree of unpredictability. E.g., a gene with a strong-affinity promoter will have a stronger probability to be expressed than a low-affinity one, but no cell in a clonal population will ever start transcribing a strong-affinity gene at the exact same time and/or rate of the rest of the population.

In particular, remember that the majority of chromosomal genes are present in a single copy per cell. Therefore, the products of their transcription and translation (RNAs and proteins) will be strongly subjected to biological noise, and their quantities will often present random ?uctuations. An example of the macroscopic effect of these fluctuations is shown is Figure 1.


Figure 1: In vivo consequences of biological noise. The ?gure shows a clonal population of Escherichia coli cells (strain RP22) expressing a single copy of the cyan (cfp) and yellow (yfp) alleles on the Green Fluorescent Protein gene, controlled by strong inducible promoters. (a) shows the effects of low cfp and yfp expression. Each cell displays a different ?uorescence color, caused by the presence of varying quantities of both Cfp and Yfp. (b) shows the effect of the full induction of the two promoters. In this case, the effect of the ?uctuations of Cfp and Yfp is averaged out by the higher quantities of proteins reached, and each cell displays the same ?uorescence color. Image taken from: [1].


Depending on its sources, two principal typologies of biological noise have been defined [1]:
  • Intrinsic noise: biological noise which is directly correlated to the expression of a single gene. The cause of this noise is the fact that every transcription and translation event is triggered by stochastic collisions between the components of the transcription and translation machinery and each gene. Therefore, the same gene will never (or we better say almost surely never, based on probability laws :) ) be expressed at the exact same time in two different cells;
  • �Extrinsic noise: biological noise which exerts a homogeneous effect on the expression of all the genes of a single cell, but whose value changes among different cells. This type of noise is caused by the fact that the number of molecules of the cellular factors needed for gene expression (e.g., RNA polymerases, ribosomes or transcriptional regulators) are, as every other gene of a cell, subjected to intrinsic noise. Therefore, the concentration of these factors will be different in each member of the clonal population, but it will equally impact the timing and probability of expression of all the other genes from their same cell.

As a side note, even though the notion that cellular processes are completely based on stochastic processes might seem a little nonsensical to a newbie to the field, it has been observed that stochasticity in gene expression plays an essential role in the functioning of cellular systems [5]. For instance, some cells exploit the effect of random protein ?uctuations to develop different phenotypes from the same genotype (as in the case of bistable systems). This non-genetic differentiation of a clonal population of cells helps them to adapt more quickly to a varying environment, without the need of any DNA mutations.


Bibliography

[1] Elowitz, M. B., Levine, A. J. et al., 2002. Stochastic gene expression in a single cell. Science, 297(5584):1183�6.
[2] Kaern, M., Elston, T. C. et al., 2005. Stochasticity in gene expression: from theories to phenotypes. Nature Reviews. Genetics, 6(6):451�64.
[3] Klipp, E., Herwig, R. et al., 2005. Systems Biology in practice: concepts, implementation and application. Wiley-VCH Verlag GmbH & Co. KGaA.
[4] Szallasi, Z., 2006. System modeling in cellular biology. The MIT Press.
[5] Kitano, H., 2004. Biological robustness. Nature Reviews. Genetics, 5(11):826�37.


Search