OPERATING SYSTEMS An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. The operating system organizes and controls the hardware and is the piece of software that converts the collection of hardware blocks into a powerful computer tool. In general terms, the tasks of the operating system are: 1. The main tasks in processor management are to ensure that each process and application receives enough processor time to function properly, using maximum processor cycles for a real job as possible and switching between processes in a multitasking environment. 2.
• Virtual memory: It allows processes that may not be entirely in the memory to execute by means of automatic storage allocation upon request. The term virtual memory refers to the abstraction of separating LOGICAL memory (Memory as seen by the process) from PHYSICAL memory (Memory as seen by the processor). Virtual Memory Virtual Memory divides physical memory into blocks and allocates them to different processes. Virtual memory was invented to relieve programmers of the burden of ensuring that the program never tries to access more physical memory than the present; it automatically manages the two levels of the memory hierarchy represented by main memory and secondary storage. Implementing Virtual Memory is feasible due to the following reasons: • In practice, most real processes do not need all the program code or at least not all at once.
Programs are created by sequencing calls to many libraries and altering a global state, in memory, on disk, or over a network. We can loop on conditions, branch, or even call functions that wait for something to happen. Everything that happens is explicitly written, and ordered, in the code. Though complete programs can be written strictly using this paradigm, it is no longer common except for the smallest of scripts. Imperative programming is well served when combined with other [paradigms](https://mortoray.com/topics/paradigms/) to create applications.
Fig 2 - Benefits of Virtualization The figure above is self-explanatory depicting the importance of adopting the technique of virtualization. Without virtualization a single machine is going to use all the resources whereas with virtualization sharing of resources takes place among various machines at a time. The security concern in virtual environments is that by compromising a host or a guest it could be easy to exploit all virtual systems[15][16][17]. On the basis of licence type, storage support, RAM per host, RAM per VM, live migration, major tools available for Virtualization in the market include: • VM ware (commercial, Full
ADVANTAGES OF ASSEMBLY LANGUAGE IN EMBEDDED SYSTEM: Embedded system have a very limited resources. It has to work against some time limits, By a specific time , the specific job needs to complete. Generally they do not have secondary storage devices such as CDROM or floppy disk. Assembly language was the first for programming embedded systems till nowadays there are many more languages to program these systems. Many more languages to program these systems are C, C++, Java and etc with its new enhancement J2ME.
The term multiprogramming is defined, in a uni-processor system, as the ability to execute more than one application concurrently. This can be achieved by time-slicing the processor among multiple applications in the system, giving the illusion that each application possesses its own processor. In a multiprogramming system, multiple processes are stored and maintained in main memory. The objective of multiprogramming is to have some process running at all times, to maximize CPU utilization [7]. Each process can be defined by the portion of memory that contains the program which is being executed by the process (along with its associated data), and by the contents of the Central Processing Unit (CPU) registers used by the process.. Each process also alternates between processor usage and input/output (I/O) event occurrences.
Symmetric multiprocessing treats all processors equally. I/O can be processed on any processor. The processors communicate with each other as needed. It enables many processes to be run at once without degrading performance. Each CPU is separate, it is possible for one CPU to be idle while another CPU is overloaded.
Alternative Programs: Though Linux developers have done a great job at creating alternatives to popular Windows applications, there are still some applications that exist on Windows that have no equivalent Linux application FreeBSD Security : 1- Secure, powerful, supports patches and updates, along with port and package u / facilitate install other software, accompanied by a firewall, and no team that will always develop FreeBSD 2-Even without special settings of FreeBSD the system security is initially very high. stable for the data base, internet server, client server, and others. Small disk space. The amount of disk memory space in standard hosting is strictly
In multithreading, an operating system is able to carry numerous, concurrent paths of execution in a single process. As for the traditional approach that only allow a single thread of execution per process, it is called single-threading. Based on Figure 4-1 below, the difference between single-threaded approach and multithreaded approach can be seen clearly on both one process and multiple processes. The left part of the diagram shows the single-threaded approach, while the right part shows the multithreaded approach. An example of an operating system that uses a single-threaded approach is MS-DOS and example of an operating system that uses a multithreaded approach is Windows.
Server based computing keeps all its data on the secure servers without it being 'spread out ' onto the less secure client computers. Furthermore, the server is in the server room, which is far more secure then on the user’s desk. Additionally, its remote access provides a great benefit. Sever based computing offers availability of applications to each and every user regardless of the time and location. Users can access their desktop and enterprise applications from any type of device, from anywhere on the network, from home or on the