-
1. Introduction to operating systems
While web developers primarily focus on coding web applications and front-end development, having a good grasp of operating systems is essential for ensuring the compatibility, security, performance, and reliability of their applications, as well as for troubleshooting and optimizing various aspects of web development.
-
2. Introduction to data networks
Networking is an integral part of web development because web applications rely on network communication to function. A solid understanding of networking concepts and practices is essential for building secure, performant, and reliable web applications.
-
3. The shell. Linux commands
Knowing Linux commands for a system administrator or even a software developer is of utmost importance because most servers run on a Linux or Unix operating system.
- 3.1 ls : showing files
- 3.2 file permissions
- 3.3 mkdir. Creating directories
- 3.4 rmdir. Deleting directories
- 3.5 Moving/renaming files and directories
- 3.6 Other commands
- 3.7 Mounting units
- 3.8 Daemons
- 3.9 What processes are running?
- 3.10 Who am I and where am I?
- 3.11 Files has its owner
- 3.12 Other commands
- 3.13 Users
- 3.14 The /etc/passwd file
- 3.15 The /etc/group file
- 3.16 Links
-
4. Shell script
In this chapter I want you to learn shell script but based on examples. Once you see the example I will propose another very similar one. If you do it and it works great, that means that not only do you understand the exercise but you are able to perform similar exercises. Keep in mind that with shell scripts you have to be patient. Misplaced whitespace can even cause a script to not work. If that happens, take a deep breath, be patient and persist, you will surely find the solution to the problem.
- 4.1. Your first shell script
- 4.2. Adding comments to your shell script
- 4.3. Variables in bash
- 4.4. Functions in bash
- 4.5 Conditional sentences
- 4.6. Repetitive sentences. Loops
- 4.7. Returning to functions
- 4.8. Arguments passed to a shell script.
- 4.9. Interaction with the user.
- 4.10. Using bash as a calculator
- 4.11. The expr command
- 4.12. What is the exit command and exit status?
- 4.13. File comparisons.
- 4.14. Comparisons of integers.
- 4.15. The shift command.
- 4.16. The let command and the arithmetic operators.
- 4.17. Logical operators.
- 4.18. The generation of random numbers.
- 4.20. C-style variables.
- 4.21. Menus in shell scripts.
- 4.22. Length of a string.
- 4.23. Finding out the numerical position of a substring in a string.
- 4.24. Extraction of a substring.
- 4.25. Deleting a substring.
- 4.26. Replacing a substring.
-
5. NETWORKING
1.2 Modules of an operating system
Every operating system has a series of modules or components in charge of several functions:
- Process Management. A process is a running program that needs resources to perform its task: CPU time, memory, files, I/O devices.
The OS will be responsible for stopping and resuming the processes and offering mechanisms for them to communicate and synchronize.
Process management could be comparable to an office job. You can have a list of tasks to perform and set different degrees of priority to them. We must start doing the highest priority tasks first and when they are finished continue with other lower priority ones. Once the task is done, it is removed from the list. This can cause a problem, that the tasks with the lowest priority take a long time to execute, but there are mechanisms to control this.
- Main Memory Management. The OS is responsible for knowing what parts of memory are used and by whom, controlling free space, deciding which processes will load into memory when there is free space, and allocating or reclaiming memory space when needed.
- Secondary storage management. It is responsible for transferring and maintaining in secondary memory that information from main memory that is not necessary. He is also in charge of scheduling disks, managing free space, and allocating storage.
- Input-output management. The OS must manage the temporary storage of the I/O devices as well as serve the interruptions of these.
- File Management. Files are collections of information that store programs and data such as images, text, etc.
The OS is responsible for building and removing files and directories, providing functions for manipulating files and directories, backing up files, etc.
- Protection Mechanisms. They must offer mechanisms that control the access of programs or users to system resources.
- Communications Management. They control the sending and receiving of information through network interfaces, they create and control communication points and virtual connections between applications running locally or remotely.
- 8. System Utilities. They offer a useful environment for the development and execution of programs supporting different programming languages, controlling the state of the system, etc.
Explain to your partner what are the modules of an operating system