---
# System prepended metadata

title: Operating Systems Laboratory. Session 0.
tags: [Lab, SOA]

---

# Operating Systems Laboratory. Session 0. 

This document contains the installation instructions of the environment needed to complete the laboratory practices of the course on Operating Systems, of the Computer Engineering Degree of the University of Alcalá.

These practices will be developed mainly using the user interface known as "terminal" or "shell". This interface, much rougher than those based on windows, allows greater control over the commands executed on the system and facilitates the automation of tasks. It is a widely used environment in the industry, especially in work related to [DevOps](https://en.wikipedia.org/wiki/DevOps).

## System preparation

The practices of the Operating Systems laboratory will be developed in a Unix/Linux environment. Work with the practices it is necessary to have a system of this type. If you don't have one, you can choose one of the following alternatives:

1. **Recommended option**: If you want to use a complete environment, you can choose to use a virtual machine system to run a Linux-based operating system as a guest. For this, we recommend using [VMWare Workstation Player](https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html). This version is free for personal use. Once installed on your computer, you can install a Linux distribution from an image. We recommend using the Ubuntu distribution in its 18.04 LTS or 20.04 LTS version. The images of the installation disks can be obtained directly from the official website of [Ubuntu](https://ubuntu.com/download/desktop). Once downloaded, you only have to create a new virtual machine from VMWare using it as source. If desired, you can also get pre-installed Ubuntu virtual machines for VMWare Workstation Player at the following [link](http://www.trendsigma.net/vmware/).

2. If you have a Windows environment, you can use the Ubuntu console within your own system. To do this, you need to install the Ubuntu Console application available in the [Microsoft Store](https://www.microsoft.com/es-es/p/ubuntu/9nblggh4msv6).

3. If you have a MacOS environment, you can directly use the terminal on your system to practice, or you can install a more advanced terminal application such as [iTerm2](https://iterm2.com/).

Although we recommend the first option, options 2 and 3 are perfectly valid and will allow you to practice without any problem. If you have chosen one of the latter, you can skip the next section.

## Access to the terminal from Ubuntu 20.04

The Ubuntu operating system installs by default a window manager called Gnome. Through this window manager, we can have access to the command interpreter. To do this, it is necessary to launch an application called "Terminal". The following image shows the Ubuntu 20.04 window environment:

Ubuntu Desktop](https://i.imgur.com/MN6HBHo.jpg)

To access the terminal, click on "Activities" in the upper left corner of the screen or on the nine dots icon in the lower left corner. Then, a text box will appear that will allow us to search for applications. We must look for the application "Terminal" and click on it:

![](https://i.imgur.com/ARxzdL2.jpg)

The terminal accepts commands, which can support zero or more parameters. Once the command is entered, it will be executed by the interpreter when the 'Enter' key is pressed. The interpreter window is shown below:

![](https://i.imgur.com/jFHzuV6.png)


## Installation of the tools

During the development of the practices we will use the following tools:

- [Vim](https://www.vim.org/): text editor for the console. It allows to edit plain text files in the console.
- GCC](https://gcc.gnu.org/): suite of development tools that allow, among other things, to compile and link programs coded in C language.
- [GNU Make](https://www.gnu.org/software/make/): tool that allows to automate the tasks of compiling one or more modules or source files written in C language.
- [Git](https://git-scm.com/): version control system. It allows the distributed management of software development projects involving multiple developers. In our case, we will use it to control and deliver the programming practices.

### Ubuntu 20.04

In Ubuntu it is necessary to install these tools, since they are not included by default in the distribution. To do this, it is necessary to use the following command from the terminal: 

```shell
sudo apt-get - and install vim build-essential git
```

`sudo` is used to execute a command in superuser or administrator mode. When we launch it, pressing the `Enter` key, it will ask for a password that will be the user's own. If the user has sufficient privileges, he or she will be able to launch the command.

### Ubuntu console (Windows)

To install the tools in Windows through the Ubuntu console, you can use the same command used in the previous section.

### MacOS

In MacOS the Vim editor is already pre-installed. The rest of the applications are part of the Xcode command line toolkit. To install them, you have to open a terminal and enter the following command:

```shell
xcode-select --install
```

---
This a is translation from the [original document by Pablo Parra](https://hackmd.io/xSsKwuK6TuyqQU9Di7Q5uQ)

###### tags: `SOA` `Lab`