Innovation... driven by intelligence and logic

ESSE Project.36: Linux System Programming and Data Management

Modules and Projects

in

Embedded Systems Software Engineering


Module 7: Linux System Programming, Data Management, MySQL

Abstract:

Linux System programming is all about programming computer system software ising C on Linux. The primary distinguishing characteristic of systems programming when compared to application programming is that application programming aims to produce software which provides services to the user directly, whereas systems programming aims to produce software and software platforms which provide services to application software, are performance constrained, or both. it also covers data management using terminals and interfaces using curses. Database query is also used extinsively using MySQL.

Training Resources:

  • 01.Working with Files in Linux
    • Linux File Structure
      • ​Directories, Files and Devices, System Calls and Device Drivers, Library Functions
    • Low-Level File Access
      • write, read, open, Initial Permissions, Other System Calls for Managing Files
    • The Standard I/O Library
      • fopen, read, fwrite, fclose, fflush, fseek, fgetc, getc, and getchar, fputc, putc, and putchar, fgets and gets
    • Formatted Input and Output
      • printf, fprintf, and sprintf,scanf, fscanf, and sscanf, Other Stream Functions, Stream Errors, Streams and File Descriptors
    • File and Directory Maintenance
      • ​chmod, chown, unlink, link, and symlink, mkdir and rmdir, chdir and getcwd
    • Scanning Directories
      • ​opendir, readdir, telldir, seekdir, closedir
    • Errors
      • ​strerror, perror
    • The /proc File System
      • ​Advanced Topics: fcntl and mmap, fcntl, mmap
  • 02.Linux Environment
    • Program Arguments
      • ​getopt, getopt_long
    • Environment Variables
      • ​Use of Environment Variables, The environ Variable
    • Time and Date
    • Temporary Files
    • User Information
    • Host Information
    • Logging
    • Resources and Limits
  • 03.Terminals
    • Reading from and Writing to the Terminal
    • Talking to the Terminal
    • The Terminal Driver and the General Terminal Interface
      • ​Overview, Hardware Model, The termios Structure, Input Modes, Output Modes, Control Modes, Local Modes, , Special Control Characters, Terminal Speed, Additional Functions
    • ​Terminal Output
      • ​Terminal Type, Identify Your Terminal Type, Using terminfo Capabilities
    • ​Detecting Keystrokes
      • ​Virtual Consoles, Pseudo-Terminals
  • 04.Screens and Curses
    • Compiling with curses
    • Curses Terminology and Concepts
    • The Screen
      • ​Output to the Screen, Reading from the Screen, Clearing the Screen, Moving the Cursor, Character Attributes
    • ​The Keyboard
      • ​Keyboard Modes, Keyboard Input
    • ​Windows
      • ​The WINDOW Structure, Generalized Functions, Moving and Updating a Window, Optimizing Screen Refreshes
    • ​Subwindows
    • The Keypad
    • Using Color
      • ​Redefining Colors
    • ​Pads
    • An Application Development
      • ​Introduction to The Application, Looking at main, Building the Menu, Database File Manipulation, Querying the CD Database
  • 05.Data Management
    • Managing Memory
      • Simple Memory Allocation, Allocating Lots of Memory, Abusing Memory, The Null Pointer, Freeing Memory, Other Memory Allocation Functions
    • File Locking
      • ​Creating Lock Files, Locking Regions, Use of read and write with Locking, Competing Locks, Other Lock Commands, Deadlocks
    • ​Databases
      • ​The dbm Database, The dbm Routines, dbm Access Functions, Additional dbm Functions
    • An Application
      • Updating the Design, The Database Application Using dbm
  • 06.MySQL
    • Installation
      • ​MySQL Packages, Post-Install Configuration, Post-Installation Troubleshooting
    • ​MySQL Administration
      • ​Commands, Creating Users and Giving Them Permissions, Passwords, Creating a Database, Data Types, Creating a Table, Graphical Tools
    • ​Accessing MySQL Data from C
      • ​Connection Routines, Error Handling, Executing SQL Statements, Miscellaneous Functions
    • ​A Database Application
      • ​Creating the Tables, Adding Some Data, Accessing the Application Data from C
  • A Project based on Concepts absorbed. It should be a Linux System Programming and Data Management Project.

There are 15 modules in the training, as listed below:-

 

Sl No

Module/Project

Sessions

labs

Hours

1

Linux System Administration.   click here for more...

5

5

30

2

Data Structures with C using Linux, vim, gcc, gdb, SCCT.   click here for more...

25

35

190

3

Shell Scripting using Bash.   click here for more...

10

5

52

4

Linux Network Administration.   click here for more...

5

5

30

5

C++ with Eclipse and QT on Linux.   click here for more...

20

25

160

6

Linux System Programming using Processes, IPC, Sync & threads.   click here for more...

10

15

80

7

Linux System Programming, Data Management and MySQL.   click here for more...

10

10

44

8

Linux Network Programming using Sockets & NW Protocols.   click here for more...

10

15

80

9

Character Device Driver Development.   click here for more...

20

20

120

10

Parallel Port Device Driver Development.   click here for more...

5

5

30

11

Serial Port Device Driver Development.   click here for more...

5

5

30

12

Block Device Driver Development.   click here for more...

10

10

60

13

Embedded Linux ARM, Configuring and Porting using Storage.   click here for more...

10

10

60

14

An Embedded Linux on ARM, Configuring GUI and Interfaces.   click here for more...

10

10

60

15

Programming and Scripting using Python using Eclipse on Linux.   click here for more...

20

20

120

 

Total

175

Sessions

195

Labs

1130

Hours


__BACK__


EmbLogic is an ISO 9001:2008(QMS) (Quality Management System) Certified Company

 

Go to Top ^