Most of the system calls and libraries that exist in Linux also exist in the Solaris OS. Coverage of system administration differences will not be handled in this paper, except where it affects developers. The Solaris 10 OS has introduced the "Service Management Framework" (SMF), which is a big change from previous versions of Solaris. Various administrative differences exist between the Solaris OS and Linux, and within Linux, between different distributions. Precompiled binaries for many packages are available at. These include gcc, emacs, MySQL, perl, and many others. Most of the applications and toolkits from the Linux world will compile and run without changes. The next section of this article groups system calls into functional sections and compares what is available in each OS. The priocntl(2) system call does not exist in Linux, but Linux does not support multiple schedulers beyond time share and real time. For instance, sched_setscheduler() is a system call in Linux and a library function that calls the priocntl(2) system call in the Solaris OS. Many system calls in Linux exist as library functions in the Solaris OS, and vice versa. Most of the system calls and library routines on both OSes will fall into this category. You should be able to write your app, compile for the Solaris OS or Linux, and simply recompile for the other OS, and it should work.
Rather, the article tries to help developers experienced in one of the OSes to work with the other OS as quickly as possible.Ī simple application that is POSIX-compliant and doesn't make any system calls or library functions specific to the Solaris OS or Linux should be portable between the OSes without changes. It is not meant as an exhaustive description of differences, nor is it meant to show that one OS is superior to the other. This article discusses similarities and differences that will be visible to application programmers and analysts on the Solaris OS and Linux. Since Java technology-based applications should not be making function calls specific to Linux or the Solaris OS, they should be portable as is.
Also, the article concentrates on applications written using the C programming language, though C++ should behave the same.
The Linux distribution is meant to be generic, though examples have been tested on SuSe 9.1. Many of the details covered will also apply to earlier versions of Solaris and Linux. In this article, the term "Solaris" refers to the Solaris 10 OS (and OpenSolaris), and "Linux" refers to Linux 2.6. Someone responsible for porting applications from Linux to the Solaris OS, or programmers with prior Linux experience that want to learn development on the Solaris OS, should benefit from this article. This article examines similarities and differences in the development environments of both operating systems. With the many new features of the Solaris 10 OS, and with the new emphasis Sun has placed on supporting the Solaris OS on AMD and Intel processor-based machines, developers are becoming interested in being able to develop their applications on the Solaris platform. Many developers are writing applications to run under the Linux operating system.