Thread: What is Systems Programming in C?

  1. #1
    Registered User
    Join Date
    Sep 2005
    Posts
    22

    What is Systems Programming in C?

    hey,

    I've a fundamental understanding of C, C++ & Java and would like to now get started with 'Systems Programming in C'...There is just one problem - I am not sure what it means & entails!?!

    wud appreciate advise some advise on the following:

    A) What it involves (topics, pre-requisites, etc).
    B) Best introductory websites to kick-off learning.
    C) Recommended texts.

    thx in anticipation!

  2. #2
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,005
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  3. #3
    Registered User
    Join Date
    Sep 2005
    Posts
    22
    appreciate that Dave but i'm gonna ve 2 blame it on cheap beer!; )

    ...a bit more meat to the info wud b appreciated...i especially wanna knw the range of topics covered by the umbrella of systems programming in C...

  4. #4

  5. #5
    End Of Line Hammer's Avatar
    Join Date
    Apr 2002
    Posts
    6,231
    Hopefully spelling is one of the topics covered too ...
    When all else fails, read the instructions.
    If you're posting code, use code tags: [code] /* insert code here */ [/code]

  6. #6
    Registered User
    Join Date
    Sep 2005
    Posts
    22
    no chapter on spellings unfortunately!; )

    for that matter very lil' on the desired topic...just half a page on 'C, UNIX and Standard Libraries'...not very helpful nkhambal!!

    well, so much for nothing...anyway...i got a hold of a book called 'The C Odyssey - Unix'...Following are a few of the topics covered in it...Pls confirm if this is what constitutes Systems Programming in C:

    - Chapter 1: The Multi-tasking OS
    =- Background processes
    =- Process ID
    =- The fork()
    =- Process Synchronisation
    =- File Buffering
    =- The exec()
    - Chapter 2: The Multi-user OS
    =- Process Group ID
    =- Unix's view of disks & drives
    =- Root file system
    =- File Permissions
    - Chapter 3: On Files
    - Chapter 4: Communication across processes
    =- Signal handling
    =- SIGHUP, SIGCLD, SIGALRM
    =- Pipes
    =- Message Queues
    =- Semaphores
    =- Shared memory

    wud appreciate all sound advise! cheers!

  7. #7
    Registered Luser cwr's Avatar
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    869
    Looking at the contents of those chapters, that looks more like a book on application programming in unix, not system programming. An example of system programming would be a book on writing device drivers.

  8. #8
    Registered User
    Join Date
    Sep 2005
    Posts
    22
    thats too bad...i'm lost then! and am already a 100 pages into the book!!;p

    suggestions anyone?? links, websites, texts??

  9. #9
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,659
    How about describing the kind of programs you want to write, rather than assuming a meaningless label like "systems programming" applies to what you want to do.

    Also, try not to sound like an illiterate boob
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  10. #10
    Registered User
    Join Date
    Sep 2005
    Posts
    22
    "...designing and implementing network protocols in C using the BSD socket interface"

    got that off the course descriptions page...i hope it provides for the requested level of granularity...

    also there seem to a few ideas/topics scattered over the posts... am enlisting them below:

    - embedded programming
    - UNIX System Calls and Subroutines
    - writing device drivers
    - english spellings

    it seems the usage of 'systems programming in C' was perhaps a gross generalisation...do apologise...excuse my oblivion (what with english spellings being included too!)

    suggestions appreciated...

    thx!
    Last edited by wirefree101; 09-15-2005 at 06:42 AM.

  11. #11
    Registered User
    Join Date
    Aug 2005
    Posts
    1,267
    Quote Originally Posted by wirefree101
    thats too bad...i'm lost then! and am already a 100 pages into the book!!;p
    Why stop studying that book? There is never harm in learning something new, even if it is not exactly what you wanted in the first place. Knowledge of the topics in your book can only HELP you when you study systems programming.

  12. #12
    Registered User
    Join Date
    Apr 2005
    Posts
    134
    Quote Originally Posted by wirefree101
    for that matter very lil' on the desired topic...just half a page on 'C, UNIX and Standard Libraries'...not very helpful nkhambal!!
    Did you actually check the topics ? besides it was just to give you the idea of what system programming in C means. Those are the topics you will probably be dealing with in when you are doing systems programming i.e. IPC, Shared Memory, Pthreads, Sockets etc.

    If you need to learn more about System programming for above topics you can read following books and tutorials. The one I posted in my earlier is also a good tutorial (although not comprehensive) to start with.


    Unix Network Programming Vol I and II. (Richard Stevens).
    Beej's Guide to Unix Interprocess Communication
    Advanced Linux Programming
    Unix Multi-Process Programming and Inter-Process Communications (IPC)
    Multi-Threaded Programming With POSIX Threads
    The Linux Kernel Module Programming Guide

    All the above tuturials and books and code examples written in C.

    Thanks,

  13. #13
    Registered User
    Join Date
    Sep 2005
    Posts
    22
    thx nkhambal...do appreciate it!

  14. #14
    Dump Truck Internet valis's Avatar
    Join Date
    Jul 2005
    Posts
    357
    when I hear systems programming generally I think of either device driver or os design.
    BSD Operating System
    Understanding the Linux Kernel
    Windows NT Device Driver Development
    x86 System Programming Manual
    Computer Architecture

    For starters

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Systems Programming
    By shabbirhussain in forum C Programming
    Replies: 1
    Last Post: 10-05-2008, 07:22 AM
  2. APIs for windowing in other systems
    By sean in forum Tech Board
    Replies: 5
    Last Post: 08-23-2004, 11:45 AM
  3. book recommendation (operating systems)
    By iain in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 10-17-2002, 05:29 AM
  4. A tale of two systems.
    By sean in forum Linux Programming
    Replies: 8
    Last Post: 05-25-2002, 12:12 AM