How suryans77/operating-system works
This is a C academic-management server with a TCP client, role-based authentication, and administrator, faculty, and student course workflows. The server accepts concurrent client connections, authenticates users, and routes each session to its role menu; menu handlers perform account and course operations against text-file records. The README documents semaphore-protected updates and temporary-file replacement. Source excerpts show server dispatch and selected operations, but not every handler or storage interaction, so unverified links are omitted; data-file nodes represent documented stores.
Main entry points: server.c TCP Server · functions.c Student Course Registration · client.c TCP Client · headers.h Shared Types
Components 11
Client and Server Access
- TCP Client
client.c - TCP Server
server.c - Shared Types
headers.h
Identity and Accounts
- Authentication
server.c - Administrator Operations
functions.c
Academic Workflows
- Faculty Course Management
functions.c - Student Course Registration
functions.c
Persistent Records
- Account Records
- Course Records
- Enrollment Records
Other components
- Admin, Faculty, Student
Connections 12
- Admin, Faculty, Student → TCP Client: uses
README.md - TCP Client → TCP Server: connects and exchanges
client.c - TCP Server → Authentication: authenticates
server.c - TCP Server → Administrator Operations: routes admin
server.c - TCP Server → Faculty Course Management: routes faculty
server.c - TCP Server → Student Course Registration: routes student
server.c - TCP Server → Shared Types: uses declarations
server.c - Administrator Operations → Account Records: manages
- Faculty Course Management → Course Records: manages
functions.c - Student Course Registration → Course Records: reads and updates
functions.c - Student Course Registration → Enrollment Records: reads and updates
functions.c - Authentication → Account Records: checks credentials
server.c