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:
Getting Started
Become familiar with the UNIX tools; open the IDE and code a simple program.
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.
External Interfaces
Dynamically invoke routines in an external library; invoke the two routines provided by the instructor.
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.
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.
Client/Server Programming
Create a point-to-point communication stream.
Code a server that converts all the strings into proper case strings.
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.
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.
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.
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.
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.
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.
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.
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.
Files and Devices
Use the C function `ioctl' (I/O control) for sending special control commands to a device.
Memory Management
Create a file using memory mapped I/O; then read and write to the file.
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.