Skip to content

Instantly share code, notes, and snippets.

agrim123 /
Last active Jan 7, 2019
Integrating functionality from bun into Bundler (GSoC 2018)

Integrating functionality from bun into Bundler (GSoC 2018)

Hello, I am Agrim Mittal from IIT Roorkee, India. This summer I contributed to Bundler under Ruby Organisation for my GSoC project.

Aim of my project was to integrate functionality from bun into bundler.

Collaboration was done through Bundler repo on GitHub.

Pull Requests

agrim123 / runlevels
Created Jul 30, 2020
Runlevels in UNIX
View runlevels
There are basically 8 runlevels in Unix.
Run Level: At any given time, the system is in one of eight possible run levels. A run level is a software configuration under which only a selected group of processes exists. Processes spawned by init for each of these run levels are defined in /etc/inittab. init can be in one of eight run levels, 0-6 and S or s (S and s are identical). The run level changes when a privileged user runs /sbin/init.
init 0 : Shutdown (goes thru the /etc/rc0.d/* scripts then halts)
init 1: Single user mode or emergency mode means no network no multitasking is present in this mode only root has access in this run level
init 2: No network but multitasking support is present.

g0 has a fixed and larger stack. This allows Go to perform operations where a bigger stack is needed, and when it is preferable for the stack not to grow.

Responsibilities of g0

Goroutine creation

On calling go func() {}, GO delegates the goroutine creation to g0 before putting it in local queue. Newly created goroutines are placed on top of local queue and are run on priority.

Defer functions allocations

Garbage collector operations