Linux system programming Opslaan als favoriet Deel deze pagina Printen Deze cursus hebben we niet meer in ons assortiment maar nog wel andere cursussen, bijvoorbeeld: De cursus Linux/UNIX Fundamentals De cursus Linux/UNIX Fundamentals (English) De cursus Linux Infrastructure De cursus Linux Infrastructure (English) De cursus Linux performance analysis and tuning De cursus Linux performance analysis and tuning (English) De cursus Shell Scripting Fundamentals De cursus Shell Scripting Fundamentals (English) De cursus Vault Fundamentals De cursus Kunnen wij je helpen? Neem contact met mij op Ik neem zelf contact op The course Linux system programming teaches C programmers the advanced mechanisms of the Linux kernel. This course does not offer a monotonous list of available system calls and library functions, but especially covers the underlying concepts. In this LSP course we discuss subjects like process management (creation and transformation of processes), file access (the conventional way, but also the more advanced way via memory mapping) and directories, and all implementations of interprocess communication (pipes, signals, TCP/UDP sockets, POSIX IPC message queues/shared memory/semaphores). Furthermore, we extensively discuss the way to develop multithreaded applications with help of the pthread library. This includes subjects like the life cycle of a thread (creation and termination), synchronisation techniques and the recognition of pit falls. Course attendees receive the following documentation: Course attendants will receive a student pack containing copies of the presentations, lab exercises, answers to the exercises, and background information. Shortly after the course the student will receive a certificate as a proof of participation Doel After completing this course, you can use the most advanced possibilities that are offered by the Linux kernel. Doelgroep Experienced programmers and software developers with extensive knowledge of the programming language C and Linux that develop specialized system programs, like daemons or software for embedded applications. The course material is in English, and the teaching language will be English unless the attendants prefer the Dutch language unanimously. Voorkennis Knowledge of the programming language C is a must.At least six months of practical experience with Linux (or another UNIX implementations) is desirable. Persoonlijk advies? Adnan Nekic accountmanager T. 026 - 791 10 67 E. a.nekic@vijfhart.nl Onderwerpen Process management File I/O Directory I/O Device I/O Pipes Signals POSIX IPC Sockets Daemonising POSIX pthreads Bekijk meer onderwerpenBekijk minder onderwerpen Process management Process creation, process transformation and process synchronisation. Influencing scheduling priority. Enquire and modify process limits. Enquire and modify process capabilities. Safe use of setuid bit and capabilities on executable file. System calls: fork, execl, execv, exit, wait, waitpid, sched_setscheduler, nice, setpriority, getrlimit, setrlimit, getpid, getppid, cap_get_proc, cap_set_proc, cap_free, cap_set_flag, getuid, setuid, seteuid. File I/O System calls to create, open, read and write files, and system call to manipulate with the current offset of an opened file. Influence of various options when opening a file. Manipulate with file descriptors. Alternative access on files via memory mapping. Enquire and modify file properties. Monitor modifications on files and directories. File and record locking. System calls: open, creat, close, umask, read, write, lseek, fcntl, dup, mmap, munmap, stat, access, truncate, link, unlink, symlink, readlink, chmod, chown, utime, inotify_init, inotify_add_watch. Directory I/O Enquire file names from directories. Enquire and modify current directory. Create and remove directories. System calls and functions: opendir, readdir, rewinddir, mkdir, rmdir, chdir, getcwd. Device I/O Enquire and modify device properties. I/O multiplexing (monitor multiple file descriptors simultaneously). System calls: ioctl, select. Pipes Setup new pipes. Properties of pipes. Communication via pipes. Pipes with more than one reader and/or writer. Properties and use of named pipes (fifo files) System calls and functions: pipe, mknod, mkfifo. Signals Signal types. Sending conventional signals and realtime signals. Use of timers. Signal handling in a conventional way. Block and release signals by receiveing process (reliable). System calls: kill, signal, pause, alarm, getitimer, setitimer, sigprocmask, sigaction, sigpending, sigsuspend. POSIX IPC Setup and gain access to shared memory segments. Synchronise processes/threads with semaphores. Send en receive messages between processes via message queues. System calls: shm_open, shm_unlink, sem_open, sem_close, sem_unlink, sem_post, sem_wait, sem_post, sem_init, sem_destroy, mq_open, mq_close, mq_send, mq_receive, mq_setattr, mq_getattr. Sockets The socket API. Streams sockets versus datagram sockets. Client-server model. Setup of active socket from client process. Setup of passive socket from server proces. Socket domains and addresses. UNIX domain sockets. TCP/IP sockets (TCP and UDP communication). Translate host names and service names to address info (for IPv4 and for IPv6). Sending broadcasts. System calls and functions: socket, connect, bind, listen, accept, getaddrinfo, recvfrom, sendto. Daemonising Relations between processes (sessions, process groups, controlling tty). Sequence of actions that allow permanently active processes to run autonomously. System calls and functions: getsid, setsid, getpgrp, setpgid. POSIX pthreads Thread model used by Linux (tasks, thread group). Thread creation and termination (voluntary or forced). Synchronisation of threads with help of mutexes and condition variables. Use of global variables. Use of thread-safe system calls and functions. Attributes of a thread. Per-thread variables. Threads and signals. Consequences for specific Linux system calls. System calls and functions: clone, pthread_create, pthread_self, pthread_equal, pthread_exit, pthread_cancel, pthread_setcancelstate, pthread_testcancel, pthread_join, pthread_detach, pthread_mutex_lock, pthread_mutex_unlock, pthread_mutex_trylock, pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal, pthread_cond_broadcast, pthread_attr_…, pthread_sigmask, pthread_cleanup_push, pthread_cleanup_pop, pthread_key_create, pthread_key_getspecific, pthread_key_setspecific.. Planning & Prijs Gerelateerde cursussen Linux/UNIX Fundamentals Linux/UNIX Fundamentals (English) Linux Infrastructure Linux Infrastructure (English) Linux performance analysis and tuning Linux performance analysis and tuning (English) Shell Scripting Fundamentals Shell Scripting Fundamentals (English) Vault Fundamentals Ervaringen ervaringen verzameld via Lucienne Groenendaal Secretarieel medewerkster "Training was prima, goede tips gekregen met af en toe een grap en grol. Locatie was prima, goed verzogd vwb koffie/thee, fruit en koekje. Mensen ook zeer vriendelijk. Lunch was perfect en zeer uitgebreid." 9 Ariana Scheepers "De cursus was goed, en de verzorging ook!Ik heb er veel van opgestoken! De lokatie in Nieuwegein is goed te bereiken met het openbaar vervoer, dus dat is prettig. Tot een volgenden keer." 10 Eric Pos Procesbeheerder bij Gemeente Amersfoort "Ik vond de training erg leerzaam. De inhoud was van een hoog niveau en de docent was goed thuis in de materie. Ik stel het vooral op prijs dat er diep op de concepten werd ingegaan." 9 Share: Share Share Share Share
Lucienne Groenendaal Secretarieel medewerkster "Training was prima, goede tips gekregen met af en toe een grap en grol. Locatie was prima, goed verzogd vwb koffie/thee, fruit en koekje. Mensen ook zeer vriendelijk. Lunch was perfect en zeer uitgebreid." 9
Ariana Scheepers "De cursus was goed, en de verzorging ook!Ik heb er veel van opgestoken! De lokatie in Nieuwegein is goed te bereiken met het openbaar vervoer, dus dat is prettig. Tot een volgenden keer." 10
Eric Pos Procesbeheerder bij Gemeente Amersfoort "Ik vond de training erg leerzaam. De inhoud was van een hoog niveau en de docent was goed thuis in de materie. Ik stel het vooral op prijs dat er diep op de concepten werd ingegaan." 9