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

Home

distance-learning center

Distance-learning Distance-learning_Building

Professional Distance-learning

IT Training Services


UXPRG03

Linux/UNIX: Programming
DURATION: 4 days

FEE: $2,280

PRIVATE GROUP FEE: $
Based upon a class size of six students.

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

SMALL CLASS SIZE:
There is a surcharge associated with training two or fewer students.

AUDIENCE:

  • Programmer
  • System Analyst
  • IT Professional
 
   

DATES:

CONTENT AND OBJECTIVES:
    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.

 
 
    Virtual Classroom   Blended Learning    
Synchronous
Instruction
Asynchronous
Instruction

 

Effective February 27, 2012, the course dates listed on the CETi 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. CETi makes no representation regarding ownership in any of the software products that we train on.

CETi 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 CETi course and that the employer has a licensed version of the software.

Certain courses only should be taught by the source software company training company and open source purveyor.