Skip to content

Assignments of learning (System Programming in Linux) study group under the supervision of Eng. Reda Maher.

License

Notifications You must be signed in to change notification settings

Eslam-Abdo/linux-femto-shell

Repository files navigation

Introduction to System Programming in Linux

This repository contains the solutions to the assignments from the Introduction to System Programming in Linux playlist on YouTube by Eng. Reda Maher!
This playlist is designed to help you understand the basics of system programming in Linux and how to write efficient programs using system calls in C.

Course Overview

This course covers the following topics:

  • An introduction to Linux system programming
  • Understanding the Linux kernel and system calls
  • File I/O and process management in Linux
  • Partion table
  • And more.

Assignments

To enhance your learning experience, we have included five assignments that will help you implement the Femto shell using C system calls. The assignments are as follows:

  1. Assignment 1: Implement a basic shell program that can echoes any command entered by the user.

  2. Assignment 2: Extend the basic shell to support some Unix Utilities (pwd, echo, cp, mv).

  3. Assignment 3: Add support for external commands and local & environment variables .

  4. Assignment 4: Implement a program similar to fdisk -l.

  5. Assignment 5: Implement a program for ls command.

Course Requirements

To follow along with this course, you will need:

  • A basic understanding of C programming language
  • A Linux machine or virtual machine (e.g., Ubuntu, Debian, CentOS, etc.) to run the code examples and complete the assignments
  • A text editor (e.g., Vim, Emacs, Nano, etc.) to write C code
  • A terminal emulator (e.g., GNOME Terminal, Konsole, xterm, etc.) to compile and run the code

Conclusion

We hope you find this course useful and informative. By the end of this course, you should be able to write efficient system programs using C system calls in Linux. Good luck and have fun!

About

Assignments of learning (System Programming in Linux) study group under the supervision of Eng. Reda Maher.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages