Technology Driven IT Training Longstanding IT Technologists Computer Education Techniques
Distance-learning - Linux/UNIX: Programming


distance-learning center

Computer-Device_Tethered-Distance-learning Distance-learning-Building

Professional Distance-learning

IT Training Services


Linux/UNIX: Programming
DURATION: 4 days

FEE: $2,280

Based upon a class size of six students.

Scheduling can be adjusted to employee work hours and incorporate client assignments.

There is a surcharge associated with training two or fewer students.


  • Programmer
  • System Analyst
  • IT Professional


    1. Getting Started
      • Become familiar with the UNIX tools; open the IDE and code a simple program.
    2. UNIX Facilities
      • Using system calls, retrieve the following information: 1- The real user-ID. 2- Group-ID. 3- Effective user-ID. 4- Effective group-ID. 5- Process-ID. 6- The parent process-ID.
    3. External Interfaces
      • Dynamically invoke routines in an external library; invoke the two routines provided by the instructor.
    4. Sockets
      • Create a TCP socket stream and bind to the stream.
      • Create a client and server program which passes some information to the server, performs simple calculations and returns the results.
    5. Streams
      • Introduce the basic Stream I/O library and code sequential I/O processing programs.
      • Using streams and the Standard I/O library, copy one file to another.
    6. Client/Server Programming
      • Create a point-to-point communication stream.
      • Code a server that converts all the strings into proper case strings.
    7. Pipes
      • Continue with the previous exercise; however this time use named pipes instead of a TCP stream.
      • Display a file by piping into a PAGER program.
    8. Processes
      • Become familiar with access process information and learn its architecture.
      • Print current process resource limits: 1- Invoke a process and determine if it is still running. 2- Kill the process and determine if it is running.
    9. System V IPC
      • Create an area of shared memory; then code a subsystem that will share application data with the UNIX System V IPC mechanisms.
    10. Signals
      • Use a signal to indicate that a task has completed.
      • Print the signal mask for current process; then call a blocking read with a timeout using longjmp.
    11. Semaphores
      • Code a program to create a semaphore by using semget; then query the value of the semaphore and take actions based on the value.
    12. Message Queues
      • Create and connect to a message queue; then: 1- Create a key and send some data to the queue. 2- Code a routine to receive the data and another routine to destroy the data.
    13. Shared Memory
      • Create a program which can access shared memory.
      • Code a client and server program that passes data back and forth; handle the race condition.
    14. I/O
      • Create efficient I/O routines.
      • Code a routine to perform large non-blocking writes; then code a client and server program that passes data back and forth.
    15. Files and Devices
      • Use the C function `ioctl' (I/O control) for sending special control commands to a device.
    16. Memory Management
      • Create a file using memory mapped I/O; then read and write to the file.
    17. File and Record Locking
      • Perform locking and lock detection.
      • Create a program which determines the presence of a deadlock situation by testing if a file region is locked by another process.
      • The program should also resolve the deadlock problem.

    Web-based Training   Blended Learning    


Effective February 27, 2012, the course dates listed on the SYS-ED schedules only will be available based upon approved and authorized user ID.

Copyright Acknowledgement: The software product(s) listed in this outline are owned and copyrighted by their respective companies. SYS-ED makes no representation regarding ownership in any of the software products that we train on.

SYS-ED courses are not intended for or open to the general public. They are intended for employees of Fortune 1000 companies, government municipalities, consulting companies, software, companies, healthcare providers. and mid-sized businesses. Individuals attending such courses will be required to execute a statement acknowledging that the employer will be paying for the SYS-ED course and that the employer has a licensed version of the software.