System

Optimization of Prerequisite program

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
16
Level: 
III
Objective: 

Knowing how to measure the performance of a program by profiling and resource usage monitoring.

  • Knowing to profile application and system
    •  Using GNU gprof and gprof library
    •  Oprofile
  • Optimization techniques

Network socket programming

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
15
Level: 
II
Objective: 

Knowing BSD socket programming

Prerequisite: 
  • Knowing the various socket types and protocols inside
    • y UNIX socket, STREAM, DATAGRAM, RAW
  • Knowing how to TCP/IP client, server application using socket library
    • y socket(), close(), bind(), listen(), connect(), accept(), select(), send(),recv(), select(), …

 

IPC mechanisms

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
14
Level: 
II
Objective: 

Knowing how to use Linux IPC primitives.

  • Understanding pipe and named pipe.
    •  Using pipe()
    •  Using mkfifo command
       

Input/output to/from terminal equipment

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
13
Level: 
II
Objective: 

Knowing how to use Linux IPC primitives.

Input/output to/from terminal equipment

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
13
Level: 
I
Objective: 

Understand tty architecture of Linux and knowing how to use termcap and/or curses library.

  • Introduction to tty
    •  Tty architecture
    •  Tty operation modes
    •  Pseudo tty
    •  Termcap and curses
  • Understand tty attributes

Time

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
12
Level: 
II
Objective: 

Knowing various time manipulating functions in Linux and knowing how to delay management short or long delay.

  • Understating of the presentation of time in Linux
  • Knowing time-manipulating functions
    •   Finding time
    •  Conversion between time formats
  • Knowing how to wait for time
    •  use sleep(), nanosleep(), clocknanosleep() and alarm()
    •  using select() to wait

Signals

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
11
Level: 
II
Objective: 

Knowing how signal works in Linux system, how to catch or ignore signals. Understanding and using setjmp() and longjmp()

  • Introduction to signal
    •  How it works
    •  Side effects of signal
  • Using signal
    •  How to catch, ignore signal
    •  Signal handler programming
  • Understanding and using setjmp(), longjmp()

Multi-thread Programming

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
10
Level: 
II
Objective: 

Knowing how to create, cancel, synchronize with pthread library

Prerequisite: 
  • Pthread basic
  • Thread create, cancellation
    •  Passing parameter to thread
  • Thread synchronization

Processes and threads

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
9
Level: 
II
Objective: 

Knowing how to create process, to execute a program and to manage the process

Prerequisite: 
  • Understanding the difference between processes and threads in Linux
  • Setting the schedule class of a process
    •  nice(), sched_getparam(), sched_setparam()
  • Create process
    •  fork()
  • Execute a program
    •  exec() and its variants
    •  system()
  • Other process-related functions
    •  wait(), kill(), …

Building a shared library

Code No
Skill Category No: 
2
Skill No: 
4
Topic No: 
8
Level: 
II
Objective: 

Knowing how to build a shared library

  • Building a Shared library
Syndicate content