One Software, Three OS: How It's Possible?

  • Thread starter Thread starter kronecker
  • Start date Start date
  • Tags Tags
    Os Software
Click For Summary
Software can be adapted for use across multiple operating systems, such as Windows, Mac, and Linux, by leveraging the similarities in the core services they provide, like memory allocation and file I/O. The key to achieving cross-platform compatibility lies in creating an abstraction layer above these operating system services. This allows developers to write applications using standardized libraries, such as the C and C++ standard libraries, which map to OS-specific procedures. The Portable Operating System Interface (POSIX) is a notable standard that enables programs written to its specifications to be compiled and run on any POSIX-compliant operating system. However, achieving a consistent graphical user interface (GUI) across different operating systems is more complex due to the variations in GUI elements and behaviors. Frameworks like GTK and Qt aim to address this challenge by providing a cross-platform GUI toolkit, enabling applications to maintain a similar appearance and functionality across different systems.
kronecker
Messages
19
Reaction score
0
how can a software be changed be used in different os ? one software but can use in 3 os, win, mac, linux ? how can that be ?what do the maker change in the software to fit all three at the same time ? thank you.
 
Computer science news on Phys.org
All operating systems provide basically the same services -- memory allocation, interprocess communication, file I/O, etc. The difference is that they all use different conventions for how those services are made available to programs. Programs send requests to the operating system (generally) by making procedure calls; the parameters and types passed in those procedure calls are different on different operating systems.

The most common way to provide portability is to create an abstraction above the operating system services, and then write your application on top of that abstraction. For example, all C and C++ implementations provide the standard library, with functions like printf and fopen. These functions are generally mapped into OS-specific procedures. This way, the same piece of source code (which uses printf) can be recompiled on any operating system that provides a printf procedure.

This is the concept behind POSIX (the Portable Operating System Interface). POSIX is a collection of standardized, generic operating system procedure calls. Any program which is written to the POSIX interface can be compiled and run on any operating system that provides the POSIX interface.

Graphical interface get a little fuzzier -- it's difficult to cleanly abstract the operations in a GUI, because different GUIs provide so many different kinds of elements and behaviors. A few solid projects which attempt to provide a cross-platform graphical interface are called GTK and Qt. A program which is written to the GTK or Qt interface can be run on Windows and Linux, for example, and look nearly exactly the same on both.

- Warren
 
Thread 'ChatGPT Examples, Good and Bad'
I've been experimenting with ChatGPT. Some results are good, some very very bad. I think examples can help expose the properties of this AI. Maybe you can post some of your favorite examples and tell us what they reveal about the properties of this AI. (I had problems with copy/paste of text and formatting, so I'm posting my examples as screen shots. That is a promising start. :smile: But then I provided values V=1, R1=1, R2=2, R3=3 and asked for the value of I. At first, it said...

Similar threads

  • · Replies 3 ·
Replies
3
Views
553
Replies
23
Views
6K
  • · Replies 9 ·
Replies
9
Views
5K
Replies
35
Views
10K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 37 ·
2
Replies
37
Views
7K