An operating system (OS) is a basic software whose rule is to intermediate software requisitions for resources and the hardware available, manage input/output, memory allocation/deallocation, file systems, among other basic tasks a device should do.

learn more… | top users | synonyms (1)

340
votes
33answers
123k views

How do I create my own programming language and a compiler for it [closed]

I am thorough with programming and have come across languages including BASIC, FORTRAN, COBOL, LISP, LOGO, Java, C++, C, MATLAB, Mathematica, Python, Ruby, Perl, JavaScript, Assembly and so on. I ...
193
votes
15answers
48k views

Why was Tanenbaum wrong in the Tanenbaum-Torvalds debates?

I was recently assigned reading from the Tanenbaum-Torvalds debates in my OS class. In the debates, Tanenbaum makes some predictions: Microkernels are the future x86 will die out and RISC ...
129
votes
11answers
11k views

How do operating systems… run… without having an OS to run in?

I'm really curious right now. I'm a Python programmer, and this question just boggled me: You write an OS. How do you run it? It has to be run somehow, and that way is within another OS? How can an ...
78
votes
4answers
14k views

What operating systems are used in airplanes, and what programming languages are they developed in?

I was wondering if anyone knows what is the operating system used in commercial airplanes (say Boeing or Airbus). Also, what is the (preferred) real-time programing language? I heard that Ada is used ...
48
votes
10answers
7k views

Why is software OS specific?

I'm trying to determine the technical details of why software produced using programming languages for certain operating systems only work with them. It is my understanding that binaries are specific ...
38
votes
16answers
3k views

Is it a waste of time to free resources before I exit a process?

Let's consider a fictional program that builds a linked list in the heap, and at the end of the program there is a loop that frees all the nodes, and then exits. For this case let's say the linked ...
37
votes
9answers
3k views

Why not have a High Level Language based OS? Are Low Level Languages more efficient?

Without being presumptuous, I would like you to consider the possibility of this. Most OS today are based on pretty low level languages (mainly C/C++) Even the new ones such as Android uses JNI & ...
22
votes
8answers
3k views

Any basic difference between Unix and Linux in design and other aspects? [closed]

I keep reading this sentence: Linux is a Unix-like system, but it is not Unix. I don't know what's the real difference between the two. I know Linux got a lot of ideas from Unix and the licenses ...
21
votes
5answers
3k views

Why (not) segmentation?

I am studying operating systems and the x86 architecture, and while I was reading about segmentation and paging I naturally was curious how modern OSes handle memory management. From what I found ...
20
votes
3answers
1k views

In reality, a developer also administers DBMS and system? [closed]

I really don't know where else to ask. So here it goes. I'm working at a very tiny company that makes ERP software and websites. 1 developer with + 10 years experience. 2 developers with + 3years ...
18
votes
10answers
3k views

Are there any OS which are simple enough for learning? [closed]

I would really like to understand how an operating system works behind the scenes. However, I think that the kernel of most open-source OSs out there are too complex for learning purposes, even for a ...
17
votes
6answers
864 views

How did we get saddled with the (hierarchical) filesystem as the basic data structure?

I'm self-taught and I don't have a CS degree. The more I've been learning about data structure, the more I wonder, in this day and age, how are we still saddled with the filesystem, with directories ...
16
votes
4answers
3k views

Is it possible to read memory from another program by allocating all the empty space on a system?

Theoretically, if I were to build a program that allocated all the unused memory on a system, and continued to request more and more memory as other applications released memory that they no longer ...
16
votes
4answers
15k views

Which operating system book do you recommend? [closed]

I want to read a good book about operating systems. More specifically, I want to read about how common problems - such as managing virtual memory, handling traps, doing context switches, managing ...
14
votes
14answers
1k views

Ideal Operating System [closed]

Okay. So I'm currently trying to design an operating system, but I need ideas. Nevermind the feasibility right now, it's just in the design phase. If you had an OS that did whatever you wanted, what ...
14
votes
8answers
1k views

What exactly is distributed computing?

So I'm a senior in college and a couple of weeks ago, I interviewed at Microsoft for an entry-level SDE position. While most of the interviews (out of the total 7) were on the general principles of ...
13
votes
9answers
2k views

Is Ubuntu workable as a laptop for an IT consultant?

I work as a consultant programmer, typically in large businesses. I use a Windows Laptop, and many of my colleagues use a Mac. My personal preference would be to run Ubuntu if I could have complete ...
13
votes
8answers
625 views

Do you think managed OSes are a good idea? [closed]

Managed OSes like Microsoft Singularity and JNode are quite an interesting concept. Essentially, the OS is bootstrapped with code written in a low-level language (C/C++/Assembly), which essentially ...
13
votes
4answers
753 views

*Hidden Features* in your operating system that increase productivity?

As developers how much time, or do you spend time, In learning the hidden features tricks of your operating system ? How important do you feel is this for productivity in day to day programming? ...
12
votes
7answers
1k views

Why isn't SSL/TLS built into modern Operating Systems?

A lot of the basic network protocols that make up the infrastructure of the Internet are built in to most major Operating Systems. For example, TCP, UDP, and DNS are all built into Linux, UNIX and ...
11
votes
4answers
333 views

What are best practices for testing programs with stochastic behavior?

Doing R&D work, I often find myself writing programs that have some large degree of randomness in their behavior. For example, when I work in Genetic Programming, I often write programs that ...
11
votes
4answers
290 views

Low Level Software and Devices [closed]

I'm looking at a new chapter in my career. I'm a web developer, but now I'm starting to play around with C, compilers, and things I didn't have to work with before. It's all very intriguing! As ...
9
votes
4answers
703 views

OS Development in C++ Questions

As a Master's project, I am designing a simple operating system. It is being designed to run in 16-bit Real Mode on an x86 architecture. Ideally, I would like to develop this OS in C++, and only ...
9
votes
3answers
606 views

Is it a good idea to do TDD on low level components?

I'm considering writing a low level driver or OS components/kernels. The osdev.org folks seem to think that the important bits are not meaningfully testable this way, but I have read some discussions ...
8
votes
9answers
2k views

OS choice for functional developing

I'm mainly a .NET developer so I normaly use Windows/VisualStudio (that means: I'm spoiled) but I'm enjoying Haskell and other (mostly functional) languagues in my spare time. Now for Haskell the ...
8
votes
8answers
1k views

What are the consequences of still sticking with Windows XP despite there are Windows Vista, 7 and very soon 8? [closed]

From a .Net programmer perspective, what are the consequences of still sticking with Windows XP despite there are Windows Vista, 7 and very soon 8? How does having windows XP limit programmers ...
8
votes
4answers
767 views

Other than the Linux kernel, which operating system kernels should you study? [closed]

The Linux kernel is often listed as a code base which you are recommended to read and, even if it is poorly commented (or the files I have looked at have all been), it does have some really good code ...
8
votes
3answers
1k views

How does multitasking work

I am completely clueless about the inner workings of an operating system, but I can more or less guess the approximate behaviour of many functions. One thing that I am not able to figure out, though, ...
7
votes
1answer
422 views

What are the main bottlenecks to know about Java portability?

Java is known to be portable; "compile once, run anywhere". I know this is often true because I have many times deployed jar or war without any cross-platform troubles. Still, I am left wondering if ...
6
votes
1answer
430 views

Understanding the levels of computing

Sorry, for my confused question. I'm looking for some pointers. Up to now I have been working mostly with Java and Python on the application layer and I have only a vague understanding of operating ...
6
votes
2answers
478 views

What are the qualifications for working with development of operating systems?

I always saw a lot of ads of programming jobs before. But I never saw an ad of operating systems development job before. I also never met personally someone who worked as operating system's ...
5
votes
2answers
515 views

Programming your own linux distribution?

So, during the couple of days I've been thinking what it takes to make your own linux distribution. Where should I actually start? I'd like to have some very basic tips for this. I consider myself a ...
5
votes
3answers
272 views

Writing a bootloader with no bootloader

I have a question that I really can't find a straight answer to. Let me start by saying I'm not asking for a step by step tutorial, or even plan on doing anything. I'm just curious. I've been ...
5
votes
2answers
1k views

Which operating systems book is good as a quick refresher? [closed]

I am preparing for a technical interview and need to review the basics of major operating systems concepts. We used Tanenbaum's Modern Operating Systems in school for our operating systems course, ...
5
votes
1answer
567 views

Are there any FOSS operating systems available that conform to NASA's JPL coding standards? [closed]

I, like many others, have been completely enamored with the recent successful landing of Mar's Curiosity rover. After reading a couple of articles, and following a few links, I've found a couple C ...
4
votes
5answers
900 views

Is it a good idea to write an OS in a scripting language? [closed]

Is it a good idea to create an OS that's written in a scripting language? For example, how about creating an OS using Python?
4
votes
5answers
427 views

How does a developer set up an environment to hack on an OS like Linux, Plan9 or BSD?

I've always found it daunting and confusing how an OS hacker sets up their workflow. As a web-developer I find it easy to set up a workflow because web-sites run on servers and as such my OS is never ...
4
votes
5answers
3k views

Is it possible to write an operating system in C?

A while back I saw a comment on a Stack Overflow question that surprised me: No one can write an operating system in C. It is not possible. What one can do is write an operating system in a ...
4
votes
7answers
649 views

OS knowledge when learning a computer programming language

I am curious, has the knowledge of the inner workings of an operating system helped you in understanding a computer programming language? It may have helped you figure out programming faster than ...
4
votes
4answers
4k views

Why does ARM processors dominate Mobile platforms while x86 dominates Desktop/Server platforms

Almost all of the mobile phones, except the ones being produced by Intel, use ARM based processors while desktop/server industry is dominated x86 processors. What features does one provide over the ...
4
votes
2answers
718 views

Is it possible to create and boot a scratch-built Operating System for iTouch devices?

So, what would I need to write "Hello world" on the iPod Touch on boot? Make that the entire operating system? Which compiler would I use, how would the graphics be done...? Can this be done without ...
4
votes
4answers
236 views

Useful Pre-requisites for Operating Systems course?

How important is knowledge of data structures and algorithms for an Operating Systems and Systems Programming course where we will be required to design and implement a kernel of a real-time operating ...
4
votes
1answer
313 views

How do programming languages integrate with OS runtimes

For example, Objective-C, Swift and Ruby (i.e. RubyMotion) integrate with the Cocoa framework. Is this done via linked libraries? I assume they call functions in existing binaries instead of simply ...
4
votes
3answers
418 views

Javascript behavior depends only on browser or browser + OS?

Generally for a javascript application, compatibility is mentioned in terms of browser types and browser versions it supports. Frameworks/Libraries like ExtJs also mention about the browser versions ...
4
votes
2answers
290 views

What is the lifecycle for loading a Linux Desktop Environment?

I'm looking into delving into a bit of custom OS work (and yes I understand that doing any development at the DE level or lower on an OS is extremely complex and not a light thing to undertake, ...
3
votes
4answers
2k views

Is Windows Server 2008 R2 x64 usable as a developer workstation OS?

We're upgrading the RAM on our developer workstations and looking to move to a 64-bit OS. We've been using Windows 7 x86, but I'm wondering about using Server 2008 R2 x64 so that developers can use ...
3
votes
2answers
279 views

Can I fork Linux source code, change it around to suit my desires, and claim it as my own kernel without doing any of the originating work?

Is it acceptable form to take Linux kernel source from any version, change it, claim it is mine, and then distribute it for monetary gain? In such a case open-source software is entitled to a sort of ...
3
votes
3answers
282 views

How to operate a computer without an operating system?

How a computer can be used when there is no operating system? What tools or knowledge do I need to do it? Do I have to give all the commands in binary to use computer hardware resources like a ...
3
votes
5answers
290 views

Virtual machine for a high level programming language vs an operating system

It struck me recently that a virtual machine for a high level programming language is very much like an OS. It manages resources, e.g. stack, heap, etc. similar to how an operating system manages ...
3
votes
5answers
275 views

What tool sets and applications have affinity with multiprocessor programming? [closed]

In grad school I took a class in multiprocessor and distributed operating systems. I think multiprocessor software development will become increasingly important and will be driven by the need to ...