How to learn Operating System in depth and implement own OS [closed] - operating-system

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am learning Operating Systems, their different perspectives like different scheduling algorithms etc. My question is: Can I make my own OS as a final year project? Please suggest some good resources (i.e video training is appreciated) that helps me understand and mainly gives me the ability to DEVELOP at least a SMALL OS.

Check out Andrew Tanenbaum's "Operating Systems, Design & Implementation and Minix as well

The Dinosaur book (OS Concepts by Silberschatz) is essential.
Most people no longer develop their own operating systems from the ground up since the systems integration (BIOS, hardware, etc.) is extremely difficult. Most people end up starting with a form of Linux or Unix.
If you are trying to learn OS concepts, I would recommend looking at OS/161 and System/161. They are projects started at Harvard used to teach the OS class to undergraduates. It runs a scaled down form of Unix, and contains all the basics, including threads and processes, scheduling, synchronization primitives, memory management, and file systems.

Linux System Programming: Talking Directly to the Kernel and C Library
this book is for those who are going to start with OS , it tells u the functions and the programming side of OS to keep it interesting . Andrew Tanenbaum's "Operating Systems, Design & Implementation is a harder book to start with .

Related

how to read linux kernel, any good tools to read kernel? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
linux kernel is really worth to spend a lot of time of read, but it is so large, and you don't know how to trace where you should start to read, and what you have read before?
usuallly people try to read linux kernel would make some comments when reading code, anybody agree? so git maybe nice when read linux kernl, but maybe sometimes you would like to read code on web tools such as lxr, but what make you disppointed is that you cannot make comments on lxr.
google code support comment, but you cannot export such comment:(
so what tool you would like to choose if you want to read source code of linux kernel?
You cannot understand the whole kernel at once, not even with a magic tool. There are too many facets and each has many aspects and quite a few nuances.
I suggest starting with a particular area of interest and focus primarily on it. If you have never looked at an OS before, the innermost areas are:
memory management
process management
thread scheduling
file system
initialization
As far as tools, any good cross referencing website is fine. LXR is good, but it takes awhile to get familiar with it.
Before starting with code , some theory knowledge is important.
Professional linux kernel architecture book will be of great help.
Lxr is good for browsing code online
VI editor with ctags and Taglist plugin is optimal for browsing kernel source code offline.

How to get started writing SIP / VoIP based software [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I need to add some SIP based functionality to my company's Windows based software, allowing the user to call extensions and receive calls from extensions registered with a SIP server. Essentially I'll be creating a simple soft-phone. The software might be running on separate networks, so NAT, firewalls and STUN servers are considerations.
I'm wondering if others have done this sort of thing and if so do you have any recommendations on how to get started.
Should I write my own SIP stack from scratch?
Should I consider using OPAL? It looks ideal, but they only list a single company that they know of using their library, which concerns me.
Should I consider other 3rd party libraries?
You should avoid to write your own implementation because this voip is a huge and complex topic. I would also not recommend OPAL (that is already outdated).
Just search for "SIP SDK" and you will see a lot of ready to use working solutions then just choose whichever seems better for your needs.
Opal has been around for years - and the code has been provided to various commercial users.
The code has been tested in many harsh environments.
Good software is like wine - it matures with age. Opal has matured well.
The library is extreme C++ - I hope you know C++ well.
Use Opal - cause when they ask for h.323, it will be easy.
The code has been tested on many compilers - (win, gcc, mac) and each compiler can be regarded
as a new pair of eyes, or another CPP quality check system.
http://www.opensips.org/ is a good choice in working for a server side implementation.
If you are to make a SIP client, try searching for webphones.Things with javascripts are cool.
here is a list:
http://www.voip-info.org/wiki/view/Open+Source+VOIP+Software

Which is the best OS for web application development? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Which is the best Operation System suited for web application development in various platforms like JAVAEE, PHP, Ruby-On-Rails, Perl, Python, if I have missed out anything then that too etc. including testing front end and business logics, version control system like svn/git etc, planning, reporting, life cycle management etc etc? In short, need to cover all aspects for web application engineering.
I have used both Windows and Linux and have felt Linux is better for its great command line capability. I have no idea about development in Mac. My experience in web application development is limited to 3 years and I just need expert opinion.
Linux is great option because of the following:
Software/Tools availability
Relatively easy troubleshooting
Easy to find answers on any question/error code you get
Great package management (Debian/Ubuntu and derivatives)
Friendly community
and many more
About the machine configuration more RAM, more HDD space, better CPU, ... :). In the company I work, every in-house developed piece of software is developed and hosted on Linux. I really can not remember of any issues we've had, except minor hardware related ones.
Linux is always a best bet on development, but of course you'll want available testing platforms with Windows and Macintosh, as well as other Unix bases for testing to make sure that your product functions appropriately under all configurations.

Large projects built on Lisp [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What are some examples of large projects (e.g., web sites) programmed in Lisp or a Lisp framework?
Most of emacs and its many extensions/modes are written in emacs lisp.
The Orbitz travel web site runs on Lisp: http://www.paulgraham.com/carl.html
The Operating System and in fact the entire system on the various Lisp Machines was written in Lisp. In fact, while the commercial Lisp Machines often used more traditional languages such as Verilog and VHDL, on some of the more "researchy" Lisp Machines, even the CPU was written in Lisp.
Lispers just love their language. They'd rather write everything in it. (In that way, they are similar to Smalltalkers.)
There's a discussion from Lambda The Ultimate from a couple years back that's relevant.
The early versions of Reddit were written in Lisp. The Yahoo Store (formerly ViaWeb) was written in Lisp.
Flightcaster is a heavy user of Clojure. While Ruby on Rails provides the pretty face, all the "thinking" (statistical analysis / machine learning) is done in Clojure.
These bioinformatics platforms are both built on Lisp:
BioCyc (sorry, can't post a link -- try biocyc dot org)
BioBike (sorry, can't post a link -- try biobike dot org)
As was this commercial application for pharmaceutical chemists:
http://www.franz.com/success/customer_apps/bioinformatics/mdl_story.lhtml
All are fairly large projects, at least in terms of complexity (I've worked on all three of them).
Some links from the ALU website:
http://wiki.alu.org/Success%20Stories
http://wiki.alu.org/Industry%20Application
http://wiki.alu.org/Research%20Organizations
GBBopen is an actively maintained AI framework, a blackboard system, in Lisp
-> http://gbbopen.org/overview.html

What is the best operating system for a server? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What would you suggest would be the best operating system for a web server?
If possible, please enumerate the advantages and disadvantages if there are any...
Use an operating system you have an administrator account for.
A mainstream flavour of Linux is a great choice for stability, but if no one knows how to look after it it's a bad idea. The same goes for any other platform you can name.
If the language is PHP, then go with a Linux system. Windows also supports it, but it seems to me that Linux is what most people use for PHP, and therefore there is more documentation to set up a decent Linux server with PHP.
I have no idea what distribution of Linux to use though, but I'm sure someone does :)
Personally, I prefer Solaris or a BSD for stability. However, both Linux and Windows are easier to operate and offer many more standard features with only slightly less reliability.
Go with what you know best and you'll get the best results.
I would say CentOS - famous for its stability. I used to work as an administrator for a hosting provider - we used it and never had problems with it.
It really depends on the function of the webserver. What services should it provide? Should there be a homepage, and what language should that be in, etc.
Either Linux or Windows will do the job fine. If you're doing this for yourself then Linux is an easier route because there are many free options.
If you're asking on behalf of a company who doesn't mind paying for things then it really depends on what the employees have experience in.