Skip to content

Repository files navigation

System Programming Assignments

Python implementations of the assignments for the System Programming course.


Course Information

Course: System Programming

Programming Language: Python 3

Instructor: Dr. Ali Valizade

Student: Ali Meghdari

Semester: 1404-1405

University: Sadjad


About

This repository contains the source code and assignments completed during the System Programming course.

The exercises cover fundamental operating system concepts, including low-level programming, process and thread management, synchronization, Windows API, Linux system programming, and socket programming.


Topics Covered

  • Introduction to System Programming
  • Operating System Basics
  • User Mode & Kernel Mode
  • System Calls
  • Windows API (WinAPI)
  • Linux libc
  • Windows Registry
  • Low-Level File I/O
  • Linux System Files
  • Process Management
  • Fork & Multiprocessing
  • Thread Programming
  • Race Condition
  • Synchronization
  • Lock & Semaphore
  • Deadlock
  • TCP Socket Programming
  • UDP Socket Programming
  • Multi-threaded Server
  • Port Scanner
  • Chat Server

Repository Structure

System-Programming/
│
├── README.md
│
├── Session-01/
├── Session-02/
├── Session-03/
├── Session-04/
├── Session-05/
├── Session-06/
├── Session-07/
└── Session-08/

Each session contains:

  • Assignment source code
  • Session README
  • Related exercises

Sessions

SessionTopics
01Introduction, OS Basics, System Calls
02Windows API, ctypes, Linux libc
03Registry, Low-Level File I/O
04Process Management, Fork, Subprocess
05Thread Programming, Shared Memory
06Synchronization, Lock, Semaphore
07TCP & UDP Socket Programming
08Port Scanner & Multi-threaded Chat Server

Requirements

  • Python 3.x
  • Windows or Linux
  • Standard Python libraries

Some exercises require:

  • Windows
  • Linux / WSL

depending on the assignment.


Notes

This repository was created for educational purposes as part of the System Programming course.

Some examples interact directly with operating system APIs and should be executed only in the appropriate environment.


License

This project is intended for educational use only.

About

System Programming course exercises — Sadjad University

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages