Skip to content

Real-Time Systems (SCR) projects in C. Includes a signal-controlled logging system and a client-server task scheduler (Cron equivalent) based on message queues and POSIX timers.

Notifications You must be signed in to change notification settings

kkkwbm/Real_Time_Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

SCR - Real-Time Systems

Project 1: Signal-Driven Logging Library A C/C++ library providing a system state logging mechanism controlled via signals, fully compliant with POSIX standards.

  • Real-Time Signal Control: Driven by RT signals, utilizing payload data transmitted with the signals.
  • Asynchronous Execution: Signal handling is implemented via asynchronous code execution to ensure non-blocking operation.
  • Dynamic State Dumps: A specific control signal triggers a dump of the application's internal state to a separate file. The content is application-dependent and fully configurable. Each signal occurrence generates a unique dump file.
  • Logging Toggle: A second signal allows for enabling or disabling event logging to the log file on the fly.
  • Verbosity Levels: A third signal enables switching between three logging verbosity levels: MIN, STANDARD, and MAX.

Project 2: Task Scheduler (Cron Equivalent) A task scheduling program serving as a functional equivalent to the Unix cron utility, compliant with POSIX and C/C++ standards.

  • Interval Timers: Core logic is based on high-precision POSIX interval timers.
  • CLI Control: Program operation and task management are handled entirely through command-line arguments.
  • Single-Instance Mechanism: Only one instance of the service can run at a time. The initial execution starts the server, while subsequent executions act as clients.
  • Inter-Process Communication (IPC): Client-server communication is implemented using the Message Queue mechanism.
  • Flexible Scheduling: Supports task scheduling using:
  • Relative time (e.g., in 5 minutes),
  • Absolute time (at a specific hour),
  • Cyclic intervals (recurring tasks).
  • Command Support: Enables scheduled execution of external programs with their own command-line arguments.
  • Task Management: Provides functionality to display a list of all scheduled tasks and the ability to cancel any selected task.
  • Safe Shutdown: Terminating the server automatically cancels or completes all currently scheduled tasks.

About

Real-Time Systems (SCR) projects in C. Includes a signal-controlled logging system and a client-server task scheduler (Cron equivalent) based on message queues and POSIX timers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published