What is Unix System Programming???


 
Thread Tools Search this Thread
Top Forums Programming What is Unix System Programming???
# 1  
Old 01-13-2012
What is Unix System Programming???

Hi friends,
Hope u r doing well. I really find the phrase, "Unix System Programming" very very cool, I don't know the reason, but it since I love UNIX, I want to do system programming in unix. Could you please tell me what is really the meaning of unix system programming. I have a couple of books which are written on unix system programming, and I know that it is done mainly in C language. Please tell me about this system programming thing and why is it different from normal programming. And would I be able to earn a living by learning Unix System Programming?

Looking forward to your replies.!
# 2  
Old 01-13-2012
Hi gabam,

have a look at 'The Art of Unix Programming' by Eric S. Raymond (The Art of Unix Programming).

see ya
fra
# 3  
Old 01-25-2012
UNIX system programming means things like these : writing a shell, writing a fsck program for your favourite file system, writing a daemon for your UNIX/UNIX-like OS, writing your version of ps. So it means writing code that heavily depends on the system calls, that does things close related to the UNIX system. It means coding basic (and necessary) utilities used every day by you/sysadmin. To be a UNIX system-programmer, you must understand well UNIX concepts, UNIX system and library calls -- that is, (2) and (3) sections in man pages, and to understand how thinks are being done (e.g., what daemon(3) does, not simply using daemon() function).

Some books that help:
1. Advanced Programming in the UNIX Environment, 2nd edition
2. Advanced UNIX Programming
3. The Linux Programming Interface
4. Linux System Programming
5. UNIX Network Programming, vol.2, 2nd edition : interprocess communication
6. UNIX Network Programming, vol.1, 2nd, 3rd editions : network programming

Note that there is also UNIX kernel programming, that is programming kernel modules or programming code right in the kernel. Stuff that is in the (9) section of BSD man pages.

---------- Post updated at 02:27 PM ---------- Previous update was at 02:17 PM ----------

Again :

System programming is different from application programming because s.p. deals with basic and needed functionality added to the (UNIX) system, while application programming focuses on getting a working program for your/your customer need.

Since you said you love UNIX, there is no better way to love it
than to program on it. (And also to admin it.)
# 4  
Old 01-25-2012
Quote:
Originally Posted by aigoia
UNIX system programming means things like these : writing a shell, writing a fsck program for your favourite file system, writing a daemon for your UNIX/UNIX-like OS, writing your version of ps. So it means writing code that heavily depends on the system calls, that does things close related to the UNIX system. It means coding basic (and necessary) utilities used every day by you/sysadmin. To be a UNIX system-programmer, you must understand well UNIX concepts, UNIX system and library calls -- that is, (2) and (3) sections in man pages, and to understand how thinks are being done (e.g., what daemon(3) does, not simply using daemon() function).

Some books that help:
1. Advanced Programming in the UNIX Environment, 2nd edition
2. Advanced UNIX Programming
3. The Linux Programming Interface
4. Linux System Programming
5. UNIX Network Programming, vol.2, 2nd edition : interprocess communication
6. UNIX Network Programming, vol.1, 2nd, 3rd editions : network programming

Note that there is also UNIX kernel programming, that is programming kernel modules or programming code right in the kernel. Stuff that is in the (9) section of BSD man pages.

---------- Post updated at 02:27 PM ---------- Previous update was at 02:17 PM ----------

Again :

System programming is different from application programming because s.p. deals with basic and needed functionality added to the (UNIX) system, while application programming focuses on getting a working program for your/your customer need.

Since you said you love UNIX, there is no better way to love it
than to program on it. (And also to admin it.)
Thanks alot for this wonderful guidance. Could you please tell me one more thing. Which UNIX should I go with, I mean which UNIX has the most demand, or which UNIX is simply the best. Once again I don't why but I love Solaris, do I have a good future career if I stick only to Solaris and learn it thoroughly??? Or should I also concentrate on Linux or freebsd etc as well?
Thanks
# 5  
Old 01-25-2012
Quote:
Originally Posted by gabam
Thanks alot for this wonderful guidance. Could you please tell me one more thing. Which UNIX should I go with, I mean which UNIX has the most demand, or which UNIX is simply the best.
The rules prohibit these kind of religious wars Smilie Which is "best" is open to much interpretation. Which gets you the "best" jobs can also vary and is subject to the laws of supply and demand; the most popular may not the most "in demand" or command the best job because it's the most popular, and other people think the same way you do -- because employers don't need to hire you in particular. Both strategies can work, or not.

I'd always suggest diversifying your knowledge rather than not, anyway. What if someday fate decrees that you really must deal with systems that aren't Solaris?

Last edited by Corona688; 01-25-2012 at 11:37 AM..
# 6  
Old 01-25-2012
Get a Linux (Slackware, Debian, Gentoo, OpenSuSE), install on it VMWare (Player, Server, Workstation), and run on it other UNIX OSes : FreeBSD, NetBSD, OpenBSD, Solaris 10, Solaris 11. UNIX means also diversity. You should not stick to only one implementation.

Also, read some books on operating systems theory (to understand well the theory of OSes) :
1. Modern Operating Systems - Tanenbaum
2. Operating System Concepts - dynosaurus book
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

UNIX System Programming Certification Program

Hi, I was working in an IT firm. My stream was UNIX, C, C++. worked for an year and half and then left the job. there has been a gap of 2 years already and wanna get back again. i have some 6 more months to that. want to do some certification to help me get back. c,c++ are fine. unix system... (1 Reply)
Discussion started by: niaR
1 Replies

2. UNIX for Dummies Questions & Answers

From iOS programming to Linux system programming

Hello. I like Linux and C programming language. Allways wanted to understand kernel and become a Linux system programmer. And I also like Objective-C and iOS. These two programming areas have relations: 1. Linux and iOS are UNIX-like systems, POSIX compliant. 2. It is useful to know C language... (2 Replies)
Discussion started by: Rockatansky
2 Replies

3. Shell Programming and Scripting

System programming with Unix

Hi All I want to learn System programming with the help of Unix. System Programming mean to say 1) Playing with the memory of computer 2) Designing some graphical units Hope you understand... (2 Replies)
Discussion started by: parthmittal2007
2 Replies

4. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

5. Programming

Unix System Programming Book

Hi, I've almost finished "Advanced Linux Programming" book. However, I feel as if I need dig deeper in IPC specially socket programming as well as multi-threading. Can anyone recommend a good book (preferably publically available)? (5 Replies)
Discussion started by: jaywalker
5 Replies

6. UNIX for Dummies Questions & Answers

Carreer:Networking Programming in Unix (C programming Language)

Hello, I am trying to learn Networking Programming in C in unix enviorment. I want to know how good it is to become a network programmer. i am crazy about Network programming but i also want to opt for the best carreer options. Anybody experienced Network Programmer, please tell me is my... (5 Replies)
Discussion started by: vibhory2j
5 Replies

7. UNIX for Dummies Questions & Answers

Tell me some good unix project in system level programming...

this is very urgent plzzzzzzzzzzzzzzzz........... (0 Replies)
Discussion started by: stalin2020
0 Replies

8. Shell Programming and Scripting

Unix Systems Programming Vs Unix Programming

Several months ago I found a link that explained the difference between how a Unix Systems Admin would do scripting compared to what a Unix Programmer would do. It showed a basic script and then show several iterations that explained how the Systems Admin would change it to make it better. I was... (0 Replies)
Discussion started by: BCarlson
0 Replies

9. Programming

System programming in C

Hi there, Am very very interested in system level programming in C???? Please give me a good site or a sample program to start with.. will be of a great help to me.. Thanks, Nisha (7 Replies)
Discussion started by: Nisha
7 Replies

10. Programming

unix system programming

hey there i have to execute commands that are written on the command line in unix. i have already separated the commands into tokens but now im stuck with the problem of how to actually execute those commands. eg: lets say the user entered " ls -l" to list all the files in a directory ... (1 Reply)
Discussion started by: mile1982
1 Replies
Login or Register to Ask a Question