https://github.com/jianping-duan/unix_programming
UNIX programming cases based on FreeBSD environment
https://github.com/jianping-duan/unix_programming
c freebsd unix
Last synced: 9 months ago
JSON representation
UNIX programming cases based on FreeBSD environment
- Host: GitHub
- URL: https://github.com/jianping-duan/unix_programming
- Owner: Jianping-Duan
- License: bsd-3-clause
- Created: 2025-04-10T03:16:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-23T12:01:22.000Z (9 months ago)
- Last Synced: 2025-09-23T13:34:09.392Z (9 months ago)
- Topics: c, freebsd, unix
- Language: C
- Homepage:
- Size: 309 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
UNIX Programming cases based on FreeBSD environment
--------------------------------------------------------------------------------
The project takes the FreeBSD operating system as an example to describe
programming based on the unix environment in the form of programming cases.
For the consideration of readability, the submodules in the project are divided
by several system calls of unix, and each .c source file in the project will
generate a corresponding executable file after compilation.
The system call function or library function used in the source file can be used
to view the introduction of the function using man(2) or man(3).
Source RoadMap:
--------------------------------------------------------------------------------
| Directory | Description |
|-----------------|-----------------------------|
| include | Encapsulated common header file |
| file | Several operations of files on unix, includes Attribute, IO, Directory and Lock |
| signals | signal processing in unix operation system |
| process | unix process, includes create, daemon, execution, groups, sessions, job control, monitor, priority and schedule, resource, termination |
| threads | POSIX threads, includes basic operation, cancel, safety and synchronization |
| pipefifo | pipe and FIFO |
| ipckey | create a ipc key for SYSV |
| msgqueue | Message Queue, includes SYSV and POSIX |
| semaphore | UNIX semaphore, includes SYSV and POSIX |
| shmem | Shared memory, includes SYSV and POSIX |
| socket | unix domain socket, internet domain socket, server design demo |
| advio | Advance IO, includes select, poll and kqueue/kevent |
| terminals | Several functions related to the terminal |
| time | including most of time funcitons |
| tmrslp | timer and sleep |
| vmmap | Virtual memory and memery mapping |