Study at Cambridge

About the university, research at cambridge.

  • Events and open days
  • Fees and finance
  • Student blogs and videos
  • Why Cambridge
  • Course directory
  • How to apply
  • Fees and funding
  • Frequently asked questions
  • International students
  • Continuing education
  • Executive and professional education
  • Courses in education
  • How the University and Colleges work
  • Visiting the University
  • Term dates and calendars
  • Video and audio
  • Find an expert
  • Publications
  • Global Cambridge
  • Public engagement
  • Give to Cambridge
  • For current students
  • For business
  • Colleges & departments
  • Libraries & facilities
  • Museums & collections
  • Email & phone search
  • Computer Laboratory
  • Past exam papers

Operating Systems

Department of Computer Science and Technology

  • Academic staff
  • Support staff
  • Contract researchers
  • Fellows & affiliates
  • PhD students
  • Wednesday Seminar Series
  • Wheeler Lectures
  • women@cl 10th Anniversary
  • Computer Laboratory 75th Anniversary
  • Shopping and leisure
  • Library induction
  • Electronic resources
  • Virtual journals shelf
  • Local services
  • Lab technical reports
  • External technical reports
  • Resource lists
  • Reading lists
  • Maps and directions
  • Contact information
  • Group Meetings
  • Project ideas for current students
  • Projects and research topics
  • [no title found]
  • Selected Publications
  • Open source components
  • Contact Details
  • Applying to do a PhD
  • Project suggestions
  • Other information
  • Reading Club
  • Postgraduate opportunities
  • Programming, Logic, Semantics
  • Projects and topics
  • Security Seminar Series
  • Mailing lists
  • Research Projects
  • Student Projects
  • Digital Technology Group
  • Research Admin
  • PhD applications
  • Graduate Admissions Prospectus
  • Funding deadlines
  • MPhil in Advanced Computer Science
  • Premium Research Studentship
  • Student Administration
  • Induction for M.Phil and Part III students
  • Part III and ACS projects
  • Part IA CST
  • Part IB CST
  • Part II CST
  • Lecturer index
  • Instructions for lecturers
  • Examination dates
  • Examination results
  • Examiners' reports
  • Plagiarism and collusion
  • Purchase of calculators
  • Data Retention Policy
  • Guidance on deadlines
  • Part III Assessment
  • MPhil Assessment
  • Student Complaint Procedure
  • Short form timetable
  • Part II supervisions overview
  • Part II sign-up dates
  • Notes on supervising
  • Supervisor support
  • Advice for students visiting Cambridge
  • UROP internships
  • Previous years
  • Briefing document (Pink Book)
  • Important dates
  • Phase 1 report
  • Back-up advice
  • Resources Declaration
  • Studies Involving Human Participants
  • Failure to submit proposal
  • Selection Tips
  • Declaration of originality
  • Submission of dissertation
  • IP ownership
  • Diploma model projects
  • Older project suggestions
  • Supervising Notes
  • Overseer Briefing Notes
  • Directors of Studies
  • Managed Cluster Service
  • Part III and MPhil machines
  • Online services
  • Installing Linux
  • Microsoft Azure for Education Membership
  • Neil Wiseman, 1934–1995
  • Roger Needham, 1935–2003
  • David Wheeler, 1927–2004
  • Karen Spärck Jones, 1935–2007
  • Judith Ann Bailey, 1934–2008
  • Robin Milner, 1934–2010
  • Sir Maurice Wilkes, 1913–2010
  • Michael JC Gordon, 1948–2017
  • Richard Gibbens, 1962–2018
  • Ross J Anderson, 1956–2024
  • An introduction to our computing facilities
  • Information for new PhD students
  • Information for new staff
  • Information for visitors
  • Information for hosts of visitors
  • General information
  • Induction Guidelines
  • Specialist resources
  • Printing and scanning
  • The CL network
  • SSH access to the CL systems
  • Supported platforms
  • Generic Unix/Linux information
  • Web servers and sites
  • The RT ticketing system
  • Lecture theatre AV
  • Departmental policies
  • Meeting rooms
  • Personnel information
  • Staff training
  • Wiseman prize
  • General health and safety
  • Environment
  • H&S policies & committees
  • Risk assessment
  • Laser safety
  • Useful links
  • Index of Health & Safety pages
  • PhD supervisors
  • Graduate Advisers
  • First Year Report: PhD Proposal
  • Second Year Report: Dissertation Schedule
  • Third Year Report: Progress Statement
  • Fourth Year Report: the last year
  • Papers and conferences
  • Thesis formatting
  • Submitting your dissertation
  • Exemption from University Composition Fees
  • Leave to work away, holidays and intermission
  • Researcher Development
  • Application deadlines
  • List of PhD thesis
  • Graduate Students' Forum
  • PAT, recycling and Building Services
  • Preparing Tripos exam questions in LaTeX
  • Information for CST examiners
  • Information for Directors of Studies
  • ACS module definition
  • Providing advice to incoming ACS students
  • ACS interviewing and admissions
  • Outreach material
  • Faculty Board
  • Degree Committee
  • Graduate Education
  • Tripos Management
  • Health & Safety
  • IT Strategy
  • Equality and Diversity
  • Research Staff
  • Staff–Student
  • Graduate Students
  • Buildings and Environment
  • Discontinued committees
  • Building Services
  • Access and security
  • Care of the WGB
  • Facilities in offices
  • Energy & Environment
  • West Cambridge Site
  • Leaving the department

Past exam papers: Operating Systems

Solution notes are available for many past questions to local users. They were produced by question setters, primarily for the benefit of the examiners. These are not model answers : there may be many other good ways of answering a given exam question!

The solution notes for the most recent two year’s worth of examinations are held back by the department and only made available to supervisors and other teaching staff (marked with 🔒). Supervisors are instructed not to release hardcopy or electronic versions of these notes to students, although they may be shown to students during supervisions when helpful. Access to any solution notes here requires a Raven login, i.e. they are not public.

Making corrections: Question setters who want to amend solution notes can find the source files under /anfs/www/tripospapers/ and may email updated files to pagemaster.

  • 2024 Paper 2 Question 3 – 🔒solution notes
  • 2024 Paper 2 Question 4 – 🔒solution notes
  • 2023 Paper 2 Question 3 – 🔒solution notes
  • 2023 Paper 2 Question 4 – 🔒solution notes
  • 2022 Paper 2 Question 3 – solution notes
  • 2022 Paper 2 Question 4 – solution notes
  • 2021 Paper 2 Question 3 – solution notes
  • 2021 Paper 2 Question 4 – solution notes
  • 2020 Paper 2 Question 3 – solution notes
  • 2020 Paper 2 Question 4 – solution notes
  • 2019 Paper 2 Question 3 – solution notes
  • 2019 Paper 2 Question 4 – solution notes
  • 2018 Paper 2 Question 3 – solution notes
  • 2018 Paper 2 Question 4 – solution notes
  • 2017 Paper 2 Question 3 – solution notes
  • 2017 Paper 2 Question 4 – solution notes
  • 2016 Paper 2 Question 3 – solution notes
  • 2016 Paper 2 Question 4 – solution notes
  • 2015 Paper 2 Question 3 – solution notes
  • 2015 Paper 2 Question 4 – solution notes
  • 2014 Paper 2 Question 3 – solution notes
  • 2014 Paper 2 Question 4 – solution notes
  • 2013 Paper 2 Question 3 – solution notes
  • 2013 Paper 2 Question 4 – solution notes
  • 2012 Paper 2 Question 3 – solution notes
  • 2012 Paper 2 Question 4 – solution notes
  • 2011 Paper 2 Question 3 – solution notes
  • 2011 Paper 2 Question 4 – solution notes
  • 2010 Paper 2 Question 3 – solution notes
  • 2010 Paper 2 Question 4 – solution notes
  • 2009 Paper 2 Question 3 – solution notes
  • 2009 Paper 2 Question 4 – solution notes
  • 2008 Paper 1 Question 2 – solution notes
  • 2008 Paper 1 Question 7 – solution notes
  • 2008 Paper 1 Question 8 – solution notes
  • 2007 Paper 1 Question 2 – solution notes
  • 2007 Paper 1 Question 7 – solution notes
  • 2007 Paper 1 Question 8 – solution notes
  • 2006 Paper 1 Question 2 – solution notes
  • 2006 Paper 1 Question 7 – solution notes
  • 2006 Paper 1 Question 8 – solution notes
  • 2005 Paper 1 Question 4
  • 2005 Paper 1 Question 11
  • 2005 Paper 1 Question 12
  • 2004 Paper 1 Question 4
  • 2004 Paper 1 Question 11
  • 2004 Paper 1 Question 12
  • 2003 Paper 1 Question 4
  • 2003 Paper 1 Question 11
  • 2003 Paper 1 Question 12
  • 2002 Paper 1 Question 4
  • 2002 Paper 1 Question 11
  • 2002 Paper 1 Question 12
  • 2001 Paper 1 Question 4
  • 2001 Paper 1 Question 11
  • 2001 Paper 1 Question 12
  • 2000 Paper 1 Question 3
  • 2000 Paper 1 Question 11
  • 2000 Paper 1 Question 12
  • 1999 Paper 1 Question 4
  • 1999 Paper 1 Question 11
  • 1999 Paper 1 Question 12
  • 1998 Paper 1 Question 4
  • 1998 Paper 1 Question 11
  • 1998 Paper 1 Question 12
  • 1997 Paper 1 Question 4
  • 1997 Paper 1 Question 11
  • 1997 Paper 1 Question 12
  • 1994 Paper 10 Question 6
  • 1993 Paper 10 Question 5

🔒 = access to solution notes is restricted to cl-supervisors, teaching, wednesday, undergrad-directors-of-studies .

  • University A-Z
  • Contact the University
  • Accessibility
  • Freedom of information
  • Terms and conditions
  • Undergraduate
  • Spotlight on...
  • About research at Cambridge

Term Paper on the Operating System | Software | Computer Science

operating system term paper

Here is a compilation of term papers on the ‘Operating System’ for class 11 and 12. Find paragraphs, long and short term papers on the ‘Operating System’ especially written for college and IT students.

Term Paper on the Operating System

Term Paper Contents:

  • Term Paper on the Fundamental Tasks of Operating System

Term Paper # 1. Definition of the Operating System :

ADVERTISEMENTS:

In early computers up to the second generation, the individual jobs for processing by the computer system used to be manually loaded, executed by the processor, again manually unloaded with some house-keeping operations, and then the next job used to be loaded manually again.

In fact, in those pre-operating-system days, the concept of directly executable programs, like we have today, just did not exist and each program, called a job had to be done in steps — with source-code in memory, loading of tape containing compiler [assembler], running the compiler to get object code, unloading compiler tape, loading the linker-editor tape, running object program, unloading everything and clearing primary storage.

During this period called set up time, used for loading and unloading, the central processing unit used to be totally idle. Again, if an error condition developed during processing, it had to be manually handled for detection and correction of errors; the central processing unit remaining idle during this time also.

In case of errors, memory dumps had to be taken and given to the programmer for correction and then the whole process had to be started again. Moreover, there is always a great imbalance between the speed of processing by the central processing unit and the speed of the Input/output operation, making the central processing unit idle during Input/output operations to a large extent. Incidentally, in pre-operating system days, the boot-strap program was used to load each job.

The first step taken to cut down the set up time was to have skilled operators and several jobs being run on batches. During those days, the programs were mainly written either in COBOL or FORTRAN, and, batching meant running all COBOL programs in a batch and then all FORTRAN programs in another batch. But the operators were not programmers, so even for simple errors, the memory dump had to be taken and given to the respective programmers for correction; considerably delaying jobs.

The next step in development, which started from late 1950s, is to have a small monitor program for automatic job sequencing — the job Control Language [JCL] having been born, which were used to prepare the job-control cards. These programs were the fore-runners of the present day Operating Systems.

As far as the input operations were considered, these were extremely slow processes, holding down operation of the central processing unit. So, the first step was to get the input cards read in smaller satellite computers in off-line mode and then using the tapes in the main computer. The next step was to develop a system known as buffering.

There the concept was to make the input devices capable of operating independently within the overall control of a monitor program and taking away the choice of the actual device to be used from the hands of the programmers to the monitor — the programmers were required to specify logical devices with the monitor deciding which device to actually use, there being multi-device physical systems.

The ability to run a program with different input/ output devices is called device independence. The concept of DMA — Direct Memory Access also developed a hardware doing what used to be done by the software.

Taking all these aspects within its fold for efficient control of the hardware, the class of software called Operating System developed, which always remains active in the main memory, being called a resident program. Since then this Operating System has undergone a number of modifications to make it highly efficient, effective and convenient to user.

Actually, the different tasks performed by an Operating System is quite complex and developing an Operating System calls for highest level of programming expertise. The Operating System always stands as a layer between the application software and the hardware — insulating the former from the latter.

It provides all the required hardware control services to the application programs through simple sub-routines which can be called by these programs; the detail control being done by the Operating System.

The Operating System between the User and the Hardware

In the progressive development of the Operating System, a major step was to make the program processing ability interactive as against the batch-mode used earlier. In batch processing the user could not interact with the central processing unit creating lot of difficulties and they had to set up control cards and wait for processing to be completed with high turnaround time.

In interactive mode, the keyboards of the terminals replaced control cards. Another spectacular development was allowing a number of programs of one or more users to be processed simultaneously, called multi-programming. Currently, most mini- and micro-computers use Operating Systems of interactive mode.

Of course, such improvements further complicated the design of the Operating Systems, which had to incorporate memory management, file control systems, processor and device scheduling, deadlock handling, concurrency control, protection, etc.

The programming language used for interacting with the Operating System is called the command language — the commands given are handled by a special software called command processor or command interpreter.

Under the MS DOS, the third system file, called COMMAND(dot)COM, which is not hidden like the other two, is the command interpreter which executes all the internal commands given at the MS DOS prompt — be it for clearing the screen or loading and executing an application program. This is the only executable file of MS DOS which is never used directly by the user by typing the name command at MS DOS prompt, as is done with other MS DOS executable files, like FORMAT(dot)COM.

The program COMMAND(dot)COM provides the command language under MS DOS — the actual syntax of the MS DOS commands, both internal and external, come under the category of command languages, as the shell commands of the UNIX Operating System are.

Term Paper # 2. Functions of the Operating System :

Some of the functions are given below:

i. I/O Management:

Selecting the appropriate channel of data transfer as required, activating and handing over control, giving them autonomy for overlapped operation. The transfer of the data between primary and secondary storage is left to the control of the DMA Controller.

ii. Memory Management:

Allocating/deallocating memory to programs, creating virtual memory in disk drives, swapping programs and data from one place to another in the memory. Preventing one program to interfere with another program.

iii. File Management:

Anything and everything that is kept in permanent storage is done by means of a file which can be of any length, as far as the user is concerned. But, as far as the disk drives are concerned, the spaces are allocated to a file in clusters, as and when additional space is required, and the clusters are not necessarily in sequence one after another.

The Operating System, not only creates and allocates spaces for files, but it keeps quick accessible records of the file structure details in the directory area and in the File Allocation Table [FAT].

iv. Job Control:

In case of batch-processing jobs, the Operating System controls the loading, execution and unloading of the jobs, along with initiating activities of input/output operation.

v. Buffering:

A buffer is a specific storage area, created in primary storage or in the data-channel or both, where the data is stored in transit between input/output devices and main memory. The buffer in the data channel is called buffer register. Buffering is temporary storing of data in buffer during data transfer to compensate for imbalance in the operating speed of the central processing unit and the input/output devices.

During transfer from storage device, the IOCS fills up the buffer, where from the central processing unit processes it at its normal processing speed. In case of tape-drives, sometimes double buffering is used — one buffer for transfer of data from the tape-drive and the second buffer is for reading by the central processing unit, data being moved from the first to the second buffer at appropriate moment. Buffering is directly related to interrupt processing. When a buffer becomes full an interrupt is generated to bring it to the attention of the kernel, to whom the control is handed over.

vi. Spooling:

It is an acronym for Simultaneous Peripheral Operation On Line. This is another technique which takes into account of the low- speed of printers as compared to the speed of the central processing unit. Under this method all printing jobs are serially stored in a dedicated storing place, generally in a direct access storage device, and whenever the central processing unit gets a free time, it continues with printing operation. If the service of the central processing unit is required for a processing job, it stops printing operation and goes back to program processing again.

When a buffer with Input/output control system is used, overlapping takes place, that is simultaneous input/output operation and program processing are carried out. As far as buffering is concerned it overlaps the input/output operation of a job with its own program processing operation, whereas, in case of spooling, it overlaps the input/output operation of one job with the program processing of another job.

A number of algorithms have been developed to ensure proper scheduling of jobs for using the central processing unit.

Some of these are:

FCFS — First Come First Served,

SJF — Shortest Job First,

RR — Round Robin scheduling etc.

Scheduling of the central processing unit means the process of selecting and allocating it to different processes waiting for its service. The different criteria used for scheduling of the central processing unit are: CPU utilization, throughput-time, jobs completed/unit of time, turnaround time, waiting time, response time, etc.

Term Paper # 3. Multi-Programming Operating System :

In general, Multi-tasking, Concurrent Programming, or Multi-programming refer to a state where two or more different and independent programs are executed in interleaved manner by the same processor. Under this system, the Operating System quickly switches over control from one program to another, so that each is executed one by one — the users never being aware of this, feel that the computer exclusives belong to each of them.

The processor is kept busy by trying to balance the input, output, and processing operations, in which autonomous nature of the input/output control and the technique of buffering is used. In multi-tasking, an input, an output, and a processing job can occur simultaneously, called overlapped operation.

The technique adopted in multi-programming Operating System, to minimize the idleness of the central processing unit and to allow a number of programs to run simultaneously, is to attach different priorities to different jobs. A job requiring large input/output operation is called I/O Bound and generally given high priority.

A job requiring large processing operation is called CPU Bound and a low priority is attached to it. The program control shifts from one program to another depending on the relative priorities. In addition, different algorithms are available for such job scheduling. Once an input/output control completes its operation, it draws attention of the master program of the Operating System through interrupts, which passes control from one section to other, allocating central processing time.

In multi-programming, when a job has to wait for something like a tape to be mounted, a command to be typed, or an input/output operation to be completed, the Operating System switches to another job and starts executing it.

In time-sharing Operating Systems, the allocation of central processing operation is based on a fixed time supplied by the real-time clock [RTC]. The pulses generated by the RTC at fixed intervals, generate interrupts drawing attention of the master program, which causes another program to be executed from where it paused last time.

The technique is called time-sharing. Whether the Operating System uses only time sharing or job scheduling on the basis of priorities or both, depend on the design of the particular Operating System.

In a networked system, independent computer systems are inter-connected, where the data files and programs are in the central unit [file server] but used by other computers for processing at their own end, whereas, time-sharing applies to a central processing unit which meets the processing requirements of a number of users connected through terminals, none having their individual processing capability.

Term Paper # 4. Different Operating Systems :

In case of large machines, the mini-computers and mainframes, the Operating System is specific to the same family of machines. For example CP/67 — the Control Program 67 is for IBM 360/67 mainframes only. But in case of micro­computers, the Operating Systems are of general nature being compatible with large variety of machines of different makes.

When the microcomputers were 8-bit systems, the most popular Operating System was CP/M — Control Program /Microcomputer. But when microprocessors graduated to 16-bit systems, giving birth to Personal Computers, PC DOS with IBM’s copyright and MS DOS with Microsoft’s copyright, both being same, were born. These are a successor to an Operating System called QDOS [Quick and Dirty Operating System] designed by Tim Paterson, who named it like that. It is basically a single-user system, with limited multi-tasking facility for PRINT operation.

If the Operating System can do different things apparently simultaneously, it is called multi-tasking operating system. For example, if you are copying certain files in one operation and also seeing the files in another location, it is a case of multi-tasking. In MS DOS, only the printing operation with the PRINT command can work like this.

There are a number of other Operating Systems which are compatible to MS DOS, the most prominent one being DR DOS. Others are Multi-DOS of Consortium Technologies, which is multi-tasking and multi-user. The Concurrent DOS of the Digital Research is, however, multi-tasking only.

Another joint venture of IBM and Microsoft in the area of Operating System resulted in creation of 80286 based Operating System called OS/2, which is multi-tasking and it is fully compatible with MS DOS. It provides for 48 MB of RAM, needing 1.5 MB for itself.

CP/M-86 is a development of CP/M for 16-bit machines, but it has been outsmarted by MS DOS.

Among the multi-user operating system, the most popular one is UNIX, which has been developed from an Operating System called Multics [Multiplex Information and Computing Service], at Bell Laboratories, almost by the same team which developed the C language. Since Bell Laboratories made available the source code of the original UNIX, different versions of UNIX have come up, most of which are not compatible to each other. Microsoft came out with an 8088 ver­sion of UNIX and it is called Xenix. In VAX machines, it is called Ultrix.

For 32 bit computers, Microsoft has come out with a 32-bit Operating System called Windows N T. For networked systems, the most popular Operating System is called Novel Netware, which operates above MS DOS or OS/2 platform, having additional facilities over MS DOS. Window 95 is also an operating system by merging MS DOS and Windows facilities.

Some of the operating systems of large computers are- 1100 Executive for UNIVAC 1100 Series; MCP for Burroughs B5000, 6000, and 7000 Series; Multics for Honywell Series 60 Level 68; Scope for CDC Cyber 70, Cyber 170 and 6000 Series; Tops 10 for DEC System 10; etc.

Term Paper # 5. Characteristics of the Operating System :

Before going into the characteristics of different types of the operating systems, let us try to understand the basics of a computer system vis-a-vis its processing functions. Analyzing from a simplified view, any program or a job carried out using a computer, like say payroll accounting, can be broken down into three basic components of Input, Processing, and Output [I-P-O], that is, into three different tasks.

If a single job is carried out serially from the beginning to the end, it would not be an efficient way of using the computer’s ability, especially that of the CPU. So buffering and spooling were introduced to take care of the simple tasks of I/O operations through IOCS by overlapping and we got what is called multi-tasking operating system — the serial I-P-O procedure being converted to serial-parallel processing.

Now, this certainly improved efficiency and cut down the total job processing time, but, it also resulted in the CPU being idle to a considerable extent during I/O operations, having nothing else to do. So, if more than one job is made available to the CPU at a time by loading them into the memory, the idleness of the CPU can be reduced by switching its processing service from one job to another, over and above the same type of multi-tasking operation for each individual jobs, and then, we get what is called multi-programming operating system — each job being a separate program.

Thus, multi-programming implies multi-tasking but the reverse is not true. The basic objective of multi­programming is to maximize utlisation of the resources of the CPU, especially in batch processing of different programs. The multi-programming operating systems have to schedule loading as well as execution of a number of programs.

Again, because of inherent inflexibility with batch processing, the system of simultaneous interactive processing for a number of users, each with his own program became a necessity. In order to cater to such multi-access mode with good response time, the technique of time-sharing came into use, which primarily relied on the system clock.

Later on both the techniques of multi-programming and time-sharing were integrated, developing modern operating systems, some of which are multi-user operating systems. Time-sharing is basically a technique of organizing the processing operation of a computer system in such a way that a number of end-users can interact with the system simultaneously. Incidentally, multi-programming can also be done with a single job.

In a multi-access operating system the objective is to ensure quick response time to each user, where as, in a batch processing system, the objective is to maximize the total processing done by the system.

Term Paper # 6. Fundamental Tasks of the Operating System:

i. Job Control Language (JCL ):

One of the fundamental task of the Operating System in the batch processing mode is to eliminate the idleness of the central processing unit during set up operation of jobs being loaded one after another, called stacked-job operation. A special type of command language, called Job Control Language [JCL] is used for this purpose, which identifies each job to be processed one after the another, and conveys the specific requirement of each job to the Operating System including the user’s name/code, account number, authority, the input/output devices to be used, the language compiler/linker to be used, etc.

This type of job processing is called batch-processing, with jobs using similar compiler being processed together. The complete operation is controlled by the Job Control Program of the Operating System — the instructions being given in Job Control Language.

Once a job is processed completely, the system control returns to the master program of the Operating System, which then calls the Job Control Program. The JCL gets loaded, takes over control and carries out the instructions for the next job and transfers control to it, which on completion returns control to the master program of the Operating System. This process continues until all the jobs of the batch are fully processed.

ii. Input/Output Routines :

Each input/output devices having special characteristics need to be controlled in different manner. To cater to this wide variety of input/output devices there are specific small control programs called device drivers. A device driver is actually a set of procedures that control peripheral hardware devices.

These device drivers, containing specific input/output routines are called by the master program of the Operating System when dealing with a specific device for input or output operations, as the case may be.

iii. Input/Output Control System :

A large part of computer processing, especially data processing, involves movement of data from one device to another, from a device to the primary storage, or from the primary storage to a device. As already stated, the operating speed of these input/output devices are considerably lower than the processing speed of the central processing unit; which normally keep the latter idle during input/output operations.

In order to ensure that the central processing unit does not remain idle during input/output operations, special Input/output Control Systems [IOCS] have been developed which are used by the master program of the Operating System. The input/output operations are fairly simple but involves longer times, because of inherent deficiency in the speed of the I/O devices.

These can now be carried out without direct and continuous supervision of the central processing unit throughout the process of such data movement, avoiding unnecessary idle state of the central processing unit. The IOCS exactly does this kind of operation. Let us see how it is done.

A channel is a physical path, with its own control and monitoring circuits in a processor, along which the data flows between the slow speed input/output devices and the high speed central processing unit. The characteristics of these channels are that once these are instructed by the central processing unit to get or send data to a particular device, they operate independently transferring all data and when completed, reports back to the central processing unit the status.

A computer system, especially the large one, has a number of channels for input as well as output. Whenever a data movement is required, the master program of the Operating System activates the required channel processor and hands over control to it — the central processing unit becoming free to do other processing activities. The channel processor uses buffers which causes overlapping of input/ output and processing operation — both being done simultaneously. The interrupts, play a vital role in informing the central processing unit when a particular data operation is completed.

Basically, the functions of the Input Output Control System is to interpret I/O requests and execute it after locating the source and destination of data — reporting back to the central processing unit by generating appropriate interrupt.

The I/O Control Device, used in microcomputers for transfer of data from disk drives to primary storage and vice versa is carried out by DMA Controller, which stands for Direct Memory Access controller, given by chip number 8237, which has four channels. In PC ATs, two of these chips are used.

iv. Linker :

In each operating system, there is invariably a special program called Linker (also called link-editor), which converts the object-program created by a compiler or assembler to the executable mode, so that the program can be processed at the command level of the Operating System.

The link program also links different object modules of the application program, along with the programs used from the Library files to create a single relocatable program for loading and execution under the platform of the Operating System. Since it is not known beforehand, at which absolute address of the main memory the application program will be loaded during execution, the address of data blocks are usually left as a relative address 15 in the application program with reference to the beginning of the address of the instruction code block.

When the program is loaded, the relative addresses are appropriately converted to respective physical addresses by the Operating System so that the program can execute successfully.

Generally in PC system, the compilers and assemblers provide their own link program, which is claimed to be more efficient for that application than the MS DOS Link program, which can also be used.

The linker, called LINK in MS DOS, creates a special file header in the executable file, which is used by the master program of the Operating System to provide the physical addresses inside the program file, so that these can be executed. The birth of link is related to the development of Operating Systems; it did not exist in pre-Operating System days.

v. Memory Management :

An application program, or for that matter any program cannot be executed, until and unless, the Operating System allocates a need-based storage place in the main memory, creates appropriate headers, stack location, etc., and then hands over the control to the program to be executed. After the application program is executed, it returns back control to the Operating System, which does a bit of house-keeping and deallocate the memory for use by other programs.

The main memory is the exclusive jurisdiction of the Operating System, which it temporarily leases out to different application programs for use, as long as it is required to use. The technique of memory management is highly complex in case of Multi­programming Operating System, because all the programs have to be accom­modated in memory and each in turn has to be handed over to the central processing unit for execution.

Sometimes, virtual memory, which is an extension of the main memory to storage disks, is created and used for swapping different programs in turn for execution. It is to be noted that both the central processing unit and the input/output units interact with the main memory. In TSR [Terminate but Stay Resident] programs, the memory allocated to a part of the program is not deallocated, so that it can be revived by the user at any time with the flick of a switch; the memory management routines ensure this.

vi. The Kernel :

At the core of each Operating System is a master program, which is variously called as Executive, Supervisor, Monitor, or Kernel. This part of the Operating System always remains in memory in active state, controlling the computer in various ways, as and when required. The kernel, calls other programs of the Operating System whenever required by loading these into main memory form the direct access storage devices.

In MS DOS, there are three files called system files which contain the system software. These three files are IO.SYS, MSDOS.SYS, and COMMAND.COM. Except for a portion of the command processor, called transient portion, the rest are always resident in memory, continuously moni­toring and controlling the operation of the computer along with the peripherals to allow the computer system to be used for problem solving.

The MS DOS allows the transient portion to be over written by application programs if there is a shortage of space in memory and reloads it when the execution of the application program ends. When you will be working with MS DOS in floppy drives only, you will find that at the end of many programs, there will be a prompt to insert a disk in drive A with command.com — this is required to reload the transient portion of the Operating System, which is MS DOS here.

In multi-user Operating System like UNIX, the kernel creates a shell, a special environment above the kernel layer, which acts as a command interpreter; the most common shells being Bourne and C shells. The MS DOS, since Version 4 has also incorporated shell environment for carrying out various command level functions with graphical screens.

The currently quite popular Window software is not an Operating’ System, but it is a graphic environment like shell, operating above the kernel of MS DOS — where mouse can be used extensively.

Related Articles:

  • Term Paper on Database System | Software Programs | Computer Science
  • Term Paper on Program Flow Chart | Programming | Computer Science
  • Term Paper on Word Processing | Application Packages | Computer Science
  • Term Paper on the Number System: Top 5 Papers | Computer Science

CS 161: Operating Systems (2020)

This is an in-depth course in operating systems design and implementation, focusing on multicore operating systems kernels. Operating systems are some of the most complex software artifacts that exist. Kernels abstract the features provided by computer hardware, making those features safer and more convenient to use. This means that OS designers have to understand how hardware works (at least at the level of specifications) and how software works. OS programmers also must become comfortable with navigating in, and contributing to, code bases too large to wholly understand. Most of us can pick up this important skill.

The course uses Chickadee , an operating system based on CS 61 WeensyOS . Chickadee takes advantage of newer hardware, language, and OS design features than many teaching operating systems.

Lecture: Monday/Wednesday, 3–4:15pm, Pierce 301 Section: Biweekly mandatory sections ( see schedule )

Class participation is mandatory.

Problem sets . There will be five:

  • Warmup and virtual memory .
  • More memory and scheduling .
  • VFS and pipes .
  • File systems .
  • Threads and a final project .

These labs will use the Chickadee framework. For some labs, you will also need to engage with (meaning, read code from) other operating systems, such as Linux. Each student has a total of 4 late days, with a maximum of 2 late days being applicable to any single assignment.

Students may partner up. However, each student will turn in individual labs . Don’t stress out; see “Policies.”

Papers . In some sections we will discuss OS research papers. You’ll need to read the papers before class and engage in paper discussion on Piazza.

Exams . There will be an in-class midterm and an in-class final.

Grading schema . A student’s final numerical grade will be calculated using this formula:

Problem set 1 : 8%

Problem set 2 : 15%

Problem set 3 : 15%

Problem set 4 : 15%

Problem set 5 : 22%

Midterm 1 : 8%

Midterm 2 : 12%

Participation : 5%

Final letter grades will be assigned using numerical grade bands that span at least 10 points. For example, if your final numerical grade is between 100 and 90, you are guaranteed to get an A or an A-; if your final numerical grade is between 89.9999 and 80, then you are guaranteed to get some kind of B. Grading bands may be more lenient than 10 points, depending on the overall performance of all students. For example, depending on the overall performance of all students, the grades of A and A- might be mapped to the range [100, 87).

CS 161 labs may be completed in groups, but we expect every student to turn in a separate code repository—even if partners’ code is very similar. Here’s what that means and why we’re doing it.

Partner/group work is an important part of CS 161. Students benefit from talking through their code with partners. There’s less stress and loneliness and easier debugging.

But partner dynamics can hurt too. We want every student to understand the work of every problem set. In partner classes, though, sometimes students shirk work, or trade off (“you do pset 4 and I’ll do pset 5”), which isn’t fair to others and reliably causes problems later. CS 161 has even broken up some relationships! And partner issues force us to put more grading weight on exams.

We seek a happy medium. We want to allow partners but avoid the pathologies of group turnin. So, we ask every student to turn in separate code for each lab. Partners may create this code together, but the code partners turn in must not be wholly identical . A good way to ensure this would be for partners to discuss ideas and code and help each other debug, but type their code individually.

All coursework other than labs must be completed individually.

Collaboration is encouraged on all aspects of the course except exams. You are welcome to communicate with your classmates about strategies for solutions and about specific bugs, and you are welcome to use Internet resources for general information. However:

  • You must not ask questions on Stack Overflow, paper.camp, or any similar site. (Of course, if you search for some C++ problem, Stack Overflow answers may come up—just don’t ask questions yourself.)
  • You must not use solutions from past (or future) years.
  • Cite help. If a classmate, other collaborator, or online resource helps you, acknowledge it in your assignment. (You do not need to cite help from course staff or resources directly linked from this site.)

Do not post your solutions in a public place.

Textbooks and resources

There are no mandatory texts for CS 161, but we can recommend some helpful texts if you like that sort of thing. They can be rented for Kindle.

  • Operating Systems In Depth: Design and Programming , by Thomas W. Doeppner. This was a required text in prior years.
  • Understanding the Linux Kernel , by Daniel P. Bovet. Though this describes a somewhat-old version of Linux, it’s well written and clear.

There are also extensive online resources on kernel design, architecture, and operating systems development.

  • Linux kernel documentation

And also many online resources (of varying quality and age) on C++. Here are some good ones.

  • C++ Super-FAQ
  • cppreference.com

Course staff

Lecturer: James Mickens : [email protected] Office hours: Tuesdays, 3pm–4:30pm, Maxwell Dworkin 335 TFs: Tina Lu: [email protected] Office hours: Thursdays, 7pm–9pm, Leverett dining hall Noah Singer: [email protected] Office hours: Sundays, 1pm–3pm, Pfoho dining hall Vincent Viego: [email protected] Office hours: Fridays, 2pm–4pm, Maxwell Dworkin first-floor lounge

IEEE Account

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

operating system Recently Published Documents

Total documents.

  • Latest Documents
  • Most Cited Documents
  • Contributed Authors
  • Related Sources
  • Related Keywords

Device Fingerprinting with Magnetic Induction Signals Radiated by CPU Modules

With the widespread use of smart devices, device authentication has received much attention. One popular method for device authentication is to utilize internally measured device fingerprints, such as device ID, software or hardware-based characteristics. In this article, we propose DeMiCPU , a stimulation-response-based device fingerprinting technique that relies on externally measured information, i.e., magnetic induction (MI) signals emitted from the CPU module that consists of the CPU chip and its affiliated power-supply circuits. The key insight of DeMiCPU is that hardware discrepancies essentially exist among CPU modules and thus the corresponding MI signals make promising device fingerprints, which are difficult to be modified or mimicked. We design a stimulation and a discrepancy extraction scheme and evaluate them with 90 mobile devices, including 70 laptops (among which 30 are of totally identical CPU and operating system) and 20 smartphones. The results show that DeMiCPU can achieve 99.7% precision and recall on average, and 99.8% precision and recall for the 30 identical devices, with a fingerprinting time of 0.6~s. The performance can be further improved to 99.9% with multi-round fingerprinting. In addition, we implement a prototype of DeMiCPU docker, which can effectively reduce the requirement of test points and enlarge the fingerprinting area.

Design of Distributed Reconfigurable Robotics Systems with ReconROS

Robotics applications process large amounts of data in real time and require compute platforms that provide high performance and energy efficiency. FPGAs are well suited for many of these applications, but there is a reluctance in the robotics community to use hardware acceleration due to increased design complexity and a lack of consistent programming models across the software/hardware boundary. In this article, we present ReconROS , a framework that integrates the widely used robot operating system (ROS) with ReconOS, which features multithreaded programming of hardware and software threads for reconfigurable computers. This unique combination gives ROS 2 developers the flexibility to transparently accelerate parts of their robotics applications in hardware. We elaborate on the architecture and the design flow for ReconROS and report on a set of experiments that underline the feasibility and flexibility of our approach.

An analysis between exact and approximate algorithms for the k-center problem in graphs

<span lang="EN-US">This research focuses on the k-center problem and its applications. Different methods for solving this problem are analyzed. The implementations of an exact algorithm and of an approximate algorithm are presented. The source code and the computation complexity of these algorithms are presented and analyzed. The multitasking mode of the operating system is taken into account considering the execution time of the algorithms. The results show that the approximate algorithm finds solutions that are not worse than two times optimal. In some case these solutions are very close to the optimal solutions, but this is true only for graphs with a smaller number of nodes. As the number of nodes in the graph increases (respectively the number of edges increases), the approximate solutions deviate from the optimal ones, but remain acceptable. These results give reason to conclude that for graphs with a small number of nodes the approximate algorithm finds comparable solutions with those founds by the exact algorithm.</span>

Implementation of a personalized food recommendation system based on collaborative filtering and knapsack method

Food recommendation system is one of the most interesting recommendation problems since it provides data for decision-making to users on selection of foods that meets individual preference of each user. Personalized recommender system has been used to recommend foods or menus to respond to requirements and restrictions of each user in a better way. This research study aimed to develop a personalized healthy food recommendation system based on collaborative filtering and knapsack method. Assessment results found that users were satisfied with the personalized healthy food recommendation system based on collaborative filtering and knapsack problem algorithm which included ability of operating system, screen design, and efficiency of operating system. The average satisfaction score overall was 4.20 implying that users had an excellent level of satisfaction.

A Comparative Study on Webpage Browsing Performance between Proprietary and Open Source Operating Systems on Wireless Networks

This experimental research study determined and compared the webpage browsing performance of proprietary and open source operating systems on wireless networks. It was intended to reveal the significant differences in the webpage browsing performance between proprietary and open source operating systems on wireless networks when classified as to hardware specifications and type’s web content. The researchers used the JavaScript Console of the Google Chrome web browser application to determine the time of the webpage to fully load. Operating system was the independent variable. Hardware specifications which were classified as old system and new system and types of web content which was also classified as static and dynamic webpages were the intervening variables. Webpages browsing performance was the dependent variable. The statistical tools used were arithmetic mean, and t-test. It also revealed that there were significant differences in the webpage browsing performance between proprietary and open source operating system on wireless networks when classified as to hardware specification and web content. The proprietary and open source operating systems were statistically different when classified as to hardware specifications and type of web content.

SISTEM PAKAR PEMBAGIAN HAK WARIS BERDASARKAN HUKUM ISLAM BERBASIS ANDROID DENGAN METODE FORWARD CHAINING

Indonesia is one of the countries with the largest population in the world. Nearly 85% of Indonesia's population  is Muslim. One of the problems faced by the majority of the Indonesian population, especially those who are  Muslim, is the problem of the distribution of inheritance rights. Many Muslims no longer use the inheritance distribution system according to Islamic Shari'a due to the lack of heirs and lack of knowledge about the distribution of inheritance rights according to Islam so that inheritance issues are often a trigger for disputes that lead to flattening family relations. On the other hand, currently the technology that is developing rapidly is Android technology. Almost everyone has an Android-based mobile phone. Android itself is an operating system that runs on smartphones and adjusts specifications from low-end to high-end classes. Almost all vendors are currently developing their products with the Android operating system because the demand is increasing sharply. Based on the problems and conditions above, an expert system application for the distribution of inheritance based on Islamic law based on Android was made with the forward chaining method, which can help solve the problems faced by the community above

Analisis Video Comments To Video Likes Ratio Instagram Pada 5 Brand Sandal Terhits Di Indonesia

Instagram, which is usually abbreviated as IG, is a photo and video sharing application that allows users to take photos, take videos, apply digital filters, and share them on various social networking services, including Instagram's own. One unique feature on Instagram is cropping photos into square shapes, so they look like the results of Kodak Instamatic and Polaroid cameras. This is different from the 4:3 or 16:9 aspect ratio that is commonly used by cameras on mobile devices. Instagram can be used on any iPhone, iPad or iPod Touch version with the iOS 7.0 operating system or later, any Android mobile phone with the operating system version 2.2 (Froyo) and above, and Windows Phone 8. This application can be downloaded via the Apple App Store and Google Play. On April 9, 2012, it was announced that Facebook had agreed to take over Instagram for approximately $1 billion. Instagram was first released on October 6, 2010, 11 years ago, the name Instagram Instagram comes from the understanding of the overall function of this application. The word "insta" comes from the word "instant", like the polaroid camera which at that time was better known as "instant photo". Instagram can also display photos instantly, like a polaroid in its display. As for the word "gram" comes from the word "telegram" which works to send information to others quickly. Similarly, Instagram can upload photos using the Internet, so the information you want to convey can be received quickly. That's why Instagram is an extension of the words instant and telegram. On April 9, 2012, it was announced that Instagram would be taken over by Facebook for nearly $1 billion in cash and stock. On May 11, 2016, Instagram introduced a new look as well as a new icon and new app design. Inspired by previous app icons, the new icon is a simple camera and a vivid rainbow in the form of a gradient. There are 5 sandal vendors in Indonesia that use Instagram accounts as a marketing platform, namely:

PEMBINAAN TEKNOLOGI INFORMASI DAN SISTEM OPERASIONAL BANK SYARIAH

Information technology is a knowledge that is always evolving from tools or communication which is a delivery of information through rapid communications, which relates to information problems in terms of all aspects ranging from data collection, data storage, data processing from information to the process of delivering information to people who need it. The purpose of fostering information technology and healthy internet use is an educational process by providing sufficient understanding of the current latest technology and being educated with the Islamic bank operating system, the owner of the fund invests his money so he can earn interest from the bank. If the profit sharing from the customer's funds is then distributed to those in need (eg venture capital), with a profit sharing agreement according to the agreement. Guidance on the Development of Information Technology and Bank Sariah Operational Systems at the Vocational High School Nang Nadim Batam to find out how to use good information technology and know the operating system of the Sariah bank. With this coaching, it is hoped that students will be helped in understanding the service that was carried out on January 15 and 16, 2019 at SMK Hang Nadim Batu Aji, Batam City.

Optimization and Simulation of an English-Assisted Reading System Based on Wireless Sensor Networks

In this paper, wireless sensor network technology is applied to an English-assisted reading system to highly simulate and restore the context and improve the performance of all aspects of the English-assisted reading system to optimize the English-assisted reading system. The product designed in this paper is based on wireless sensor network technology with Linux as the core operating system and supports POSIX (Portable Operating System Interface Standard) standard application development interface; QT is used as the component and framework of the system to support many applications. Based on player open-source multimedia audio and video technology, optimized and tailored for the hardware platform, it well supports multimedia learning and entertainment functions; this paper also adopts open-source database technology based on SQL (Structured Quevy Language) and Berkeley DB, using them as a platform for data storage and access, supporting a million-level thesaurus and high-speed, example sentence search. In this paper, we describe the user’s personalized needs by creating interest models for the user, recommending the text content, and reading order that can help with understanding through the interest models and reading articles and expanding the recommended text range by making expansions to the reading content through references and related articles to further help the user understand the text. Based on the above work, this paper implements an assisted reading system; finally, a multihop self-organizing network system is formed through a wireless sensor network to make the rigid and boring English reading easy and interesting.

Development of an Unmanned Traffic Management Simulation with Robot Operating System and Gazebo

Export citation format, share document.

Browse Course Material

Course info.

  • Prof. Frans Kaashoek

Departments

  • Electrical Engineering and Computer Science

As Taught In

  • Operating Systems
  • Software Design and Engineering

Learning Resource Types

Operating system engineering.

EXAMS W / SOLUTIONS YEARS
2002
2003
2004
2005
2006
2007
2008
2008
2009
2009
2010
2010
2011
2011
2002
2003
2004
2005
2006
2007
2008
2008
2009
2009
2010
2010
2011
2011
2012
2012

facebook

You are leaving MIT OpenCourseWare

Academia.edu no longer supports Internet Explorer.

To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to  upgrade your browser .

Enter the email address you signed up with and we'll email you a reset link.

  • We're Hiring!
  • Help Center

paper cover thumbnail

TERM PAPER OF OPERATING SYSTEM CSE-316 TOPIC:-COMPARISON OF MEMORY MANAGEMENT OF WINDOWS WITH LINUX

Profile image of My Fashion Support

Related Papers

ALI SAADOON AHMED

ALI S A A D O O N AHMED

This report briefly describes virtual storage, its structure, operation, and uses. Today's software is developed with virtual memory and its user-friendliness is strong and dynamic. The form of virtual memory is developed primarily based on a concept of demand pagination mechanism. The developed software requires a memory unit for performance concerning the application. When we prefer to run an additional method at an equal time as the work apparatus take responsibility for making sure that there is sufficient memory for each process. This report provides complete recordings about digital memory, its uses, when we want it and how it is used. All packets are stored in the eternal memory. When an application is made, it is initially loaded into the essential memory, i.e., RAM (random access memory) which is expensive, and which is why computers limited the amount of RAM. Now day Virtual memory is used in all modern functions because it helps us prolong the most important memory unless we increase the expensive measurement of RAM. We extend the basic memory using secondary memory. Virtual memory offers two benefits. First, it extends the bodily reminisce with the assist of secondary memory. Second, it offers us memory protection because each virtual plating is translated at a body address. Index Terms-Virtual memory, virtual memory implementation, memory protection, demand paging, swaps in and swap out demand page.

operating system term paper

International Journal of Engineering Research and Technology (IJERT)

IJERT Journal

https://www.ijert.org/hardware-realization-of-address-translation-mechanism-for-memory-management-unit https://www.ijert.org/research/hardware-realization-of-address-translation-mechanism-for-memory-management-unit-IJERTV3IS060825.pdf In today's modern world virtual memory plays a vital role in giving a hardware support to the processors. In this work the mechanism of translating virtual memory address to physical address is explored as a hardware implementation. A Segmentation Unit and a Paging Unit is designed and developed which maps logical to linear address and linear to physical address respectively. The user program deals only with the logical addresses rather than the actual physical addresses. The real logical to physical address translation is done within the MMU. In a well-designed virtual-memory system, the main memory holds only the most often used portions of a process's address space, other portions are stored on disk and retrieved as needed. This creates the illusion of a single-level store with the access time of random access main memory rather than that of a disk. This translation occurs at the granularity of pages, with support from hardware found in MMU. Hence the work done to date is a hardware realization of Segmentation Unit and Paging Unit and the actual hardware blocks needed to design and develop them.

Shridhar Dixit

This research report gives a general description of virtual memory systems. The mechanisms and policies and their effect on the operation and efficiency of virtual memory are explained. A virtual memory using a real time virtual address decoder, to decode 32 bits of virtual address for the secondary memory to obtain the primary address location is discussed. The decoder is developed with the use of associative or content-addressable memories. Replacement algorithms, used for selecting the pages of the main memory to be replaced, are described. The hardware implementation of the least recently used and least often used replacement policies using associative memories is presented.

Janusz Zalewski

Proceedings of the twentieth annual ACM symposium on Theory of computing - STOC '88

Ashok Chandra

Computer Science & Engineering: An International Journal

Engineer Ahmed F A R A Z Sheikh

Arslan Naveed

Virtualization is an abstraction technique that allow hardware resources to run multiple operating systems as they are running on their sole hardware. It creates an illusion that trick different systems softwares as they are running on their own native hardware, like running MAC OS on Dell or HP computers. Normally, the operating system use techniques like paging or segmentation to share memory among different processes. For safe implementation in virtualized environment, hypervisors do not afford uninterrupted access to hardware assets. Hypervisor is a software or hardware that run virtual machines, like VMWare, Xen etc. There are many issues in dual control of native OS and Hypervisor on memory management and the lack of logics behind virtual machines managing memory. In this paper we will survey the different virtual machines and the best suited Operating Systems for creating the best suited virtualized environment. The goal of virtualization is to increase the physical machine utilization and save the cost. In this survey all the challenges we have in managing the memory in an abstracted environment will we discussed. Some future work and state of the art work will be debated. The memory management techniques and there comparisons will be discussed in detail. Techniques to increase memory utilization will also be discuss and compared in detail.

Diego Ambrosini

Persistence, in relation to computer memories, refers to the ability to retain the data in time, without the need of any power supply. Until now, persistence has been always supplied by hard disks or Flash memory drives. Regarding memories, persistence has been until now conceived as a slow service, while volatility has been thought in relation to speed, as it happens in DRAM and in SRAM. Such a dichotomy represents a bottleneck hard to bypass. The panorama of memory devices is changing: new memory technologies are being currently developed, and are expected to be ready for commercialization in the next years. These new technologies will offer features that represent a major qualitative change: these memories will be fast and persistent. This work aims to understand how these new technologies will integrate into operating systems, and to which extent they have the potential to change their current design. Therefore, in the intent to gain this understanding, I have followed these goals throughout the work: - to analyze the economical and technological causes that are triggering these qualitative changes; - to present the new technologies, along with a classification and a description of their features; - to analyze the effects that these technologies might have on models that are currently used in the design of operating systems; - to present and summarize both the opportunities and the potential issues that operating system designers will have to manage in order to use conveniently such new memory devices; - to analyze the proposals found in scientific literature to exploit these new technologies. Following the structure of the title, the first chapter is focused mainly on memory devices, whereas the second chapter will be centered on operating systems. The first chapter, initially, tries to grasp the causes of the expected technological change, beginning with economical observations. Subsequently, the chapter contains some considerations about how different but complementary aspects of the economical relation are urging the semiconductor industry to find new memory technologies, able to satisfy the increasing demand of features and performances. Afterwards, the paper shifts its focus on current technologies and their features. After a brief summary of each specific technology, a short description about the issues shared among all current charge-based technologies follows. Then, the reader finds a presentation of each of the new memory technologies, presented following the order of the ITRS taxonomy related to memory devices: firstly are presented the ones in a prototypical development stage (MRAM, Fe-RAM, PCRAM), then followed by those in an emerging development stage (Ferroelectric RAM, ReRAM, Mott Memory, Macromolecular and molecular memory). The second chapter aims, in its first part, to understand the extent to which current funding models (Von Neumann model and the memory hierarchy) are influenced by the new technologies. As far as the computational model (fetch-decode-execute) does not change, the validity of the Von Neumann model seems to hold. Conversely, as far as it concerns the memory hierarchy, the changes might be extensive: two new layers should be added near to DRAM. After these considerations, some additional observations will be made about how persistence is just a technological property, and how a specific model would be necessary to explicit how an operating system uses it. Afterwards, there will be a description of the use of non-volatile memory technologies such as Phase Change RAM inside fast SSDs. Even if this approach is quite traditional, the scientific literature explains how faster devices would require a deep restructuring of the I/O stack. Such a restructuring is required because the current I/O stack has been developed concentrating on functionality, not efficiency. Fast devices would instead require a high efficiency. This second chapter will then present the most appealing use of persistent memories: as storage class memory, either in replacement of common DRAM, either in tandem with DRAM on the same memory bus. This approach has per se a higher level of complexity, and under the umbrella of SCM there are many viable declinations of use. Firstly some preliminary observations common with all the approaches are made. Then, two easier approaches are presented (no-change and Whole System Persistence). Finally, the approaches that aim to develop a persistent-memory aware operating system will be introduced: most of them uses the file system paradigm to exploit persistence into main memory. The paper proceeds in presenting firstly some peculiarities of the current I/O path used in the Linux operating systems, remarking how caching already moved persistence into main memory; afterwards, some other considerations about consistency are made. Those observations then are used to understand the main differences between standard I/O in respect with memory operations. After a brief presentation of some incomplete approaches proposed by the author, a framework to classify the thoroughness used by the different approaches follows. The paper continues by reporting the efforts of the Linux community and then introduces each specific approach found in literature: Quill, BPFS, PRAMFS, PMFS, SCMFS. Concluding the part about file system, there will be some remarks about integration, a mean to use both file system services and memory services from the same persistent memory. Finally, persistent-memory awareness into user applications, along with a brief introduction of the two main proposals coming from two academic research groups will be presented.

Benoit Sonntag

This article is the conclusions of a study on the implementation of a new oriented object operating system. Indeed, starting from the analysis of our needs in communication for the development for our object mechanism, various problems appeared. In this study, we reveal that the poor flexibility in memory management is the reflection of the lack of segmentation usage. Nowadays, some processors offer advanced mecanisms of memory management through segmentation. Unfortunately, they are unusable some context as ANSI C programming. At first sight, the implementation of an operating system using such a mecanism would need prior rewriting of the stack in order to take account for memory allocation indexes. This article brings a simple and effective solution to allow processor segmentation. Moreover, this solution does not require any massive modification of the stack.

International Journal of Multidisciplinary Research and Publications (IJMRAP)

Zryan Rashid

Memory management refers to all methods used in memory to store code and data, track use, and, where possible, retrieve memory space. This means that the physical chips and a logical address space are mapped through the memory map at a low level. Application programs could be used in higher-level virtual spaces with memory management unit (MMU) to create a contiguous memory impression. This paper proposed a review on operating system function and the rule of memory management unit in providing different techniques for various process in operating system. This paper shows the experiences of a group of researchers in operating systems development in many deferent techniques.

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.

RELATED PAPERS

2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications

Durga Bhavani A

International Journal of Computer Applications

Nwamini Bartholomew Tochukwu

Rajeev Barua

Software: Practice and Experience

Gernot Heiser

Parallel Computing

David Warren

Dorothy Denning

Sumegh Tharewal

Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems

Siyuan Chai

Urmila Shrawankar

Computers & Electrical Engineering

bassam mohd

Proceedings of the 42nd Annual International Symposium on Computer Architecture

FURKAN AYAR

PETER MALATJI

mohsen musavi

ACM Transactions on Computer Systems

Ed Lazowska

Mario Wolczko

Raphael Finkel

Clei Electronic Journal

Abed Morazan

Jorge Velazquez

Priyanshu Sharma

Jonathan Appavoo

[Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science

Amir ben-Amram

  •   We're Hiring!
  •   Help Center
  • Find new research papers in:
  • Health Sciences
  • Earth Sciences
  • Cognitive Science
  • Mathematics
  • Computer Science
  • Academia ©2024

Encyclopedia Britannica

  • History & Society
  • Science & Tech
  • Biographies
  • Animals & Nature
  • Geography & Travel
  • Arts & Culture
  • Games & Quizzes
  • On This Day
  • One Good Fact
  • New Articles
  • Lifestyles & Social Issues
  • Philosophy & Religion
  • Politics, Law & Government
  • World History
  • Health & Medicine
  • Browse Biographies
  • Birds, Reptiles & Other Vertebrates
  • Bugs, Mollusks & Other Invertebrates
  • Environment
  • Fossils & Geologic Time
  • Entertainment & Pop Culture
  • Sports & Recreation
  • Visual Arts
  • Demystified
  • Image Galleries
  • Infographics
  • Top Questions
  • Britannica Kids
  • Saving Earth
  • Space Next 50
  • Student Center

iPhone 6

operating system

Our editors will review what you’ve submitted and determine whether to revise the article.

  • GCF Global Learning - Computer Basics - Understanding Operating Systems
  • Academia - What is an operating system? An operating system
  • Computer Hope - Operating system
  • LOUIS Pressbooks - Computer Applications - Operating Systems
  • San José State University - Nature and History of Operating Systems for Computers
  • Engineering LibreTexts - Operating Systems
  • University of Wisconsin-Madison - Computer Sciences - Introduction to Operating Systems
  • Lifewire - Operating System (OS) Definition & Examples
  • operating system - Student Encyclopedia (Ages 11 and up)

iPhone 6

operating system (OS) , program that manages a computer ’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory , file storage, input/output (I/O) devices , and network connections. Management tasks include scheduling resource use to avoid conflicts and interference between programs. Unlike most programs, which complete a task and terminate, an operating system runs indefinitely and terminates only when the computer is turned off.

Modern multiprocessing operating systems allow many processes to be active, where each process is a “thread” of computation being used to execute a program. One form of multiprocessing is called time-sharing , which lets many users share computer access by rapidly switching between them. Time-sharing must guard against interference between users’ programs, and most systems use virtual memory , in which the memory, or “address space,” used by a program may reside in secondary memory (such as on a magnetic hard disk drive) when not in immediate use, to be swapped back to occupy the faster main computer memory on demand. This virtual memory both increases the address space available to a program and helps to prevent programs from interfering with each other, but it requires careful control by the operating system and a set of allocation tables to keep track of memory use. Perhaps the most delicate and critical task for a modern operating system is allocation of the CPU; each process is allowed to use the CPU for a limited time, which may be a fraction of a second, and then must give up control and become suspended until its next turn. Switching between processes must itself use the CPU while protecting all data of the processes.

computer chip. computer. Hand holding computer chip. Central processing unit (CPU). history and society, science and technology, microchip, microprocessor motherboard computer Circuit Board

The first digital computers had no operating systems. They ran one program at a time, which had command of all system resources, and a human operator would provide any special resources needed. The first operating systems were developed in the mid-1950s. These were small “supervisor programs” that provided basic I/O operations (such as controlling punch card readers and printers) and kept accounts of CPU usage for billing. Supervisor programs also provided multiprogramming capabilities to enable several programs to run at once. This was particularly important so that these early multimillion-dollar machines would not be idle during slow I/O operations.

Computers acquired more powerful operating systems in the 1960s with the emergence of time-sharing, which required a system to manage multiple users sharing CPU time and terminals. Two early time-sharing systems were CTSS (Compatible Time Sharing System), developed at the Massachusetts Institute of Technology , and the Dartmouth College Basic System, developed at Dartmouth College . Other multiprogrammed systems included Atlas, at the University of Manchester , England, and IBM ’s OS/360, probably the most complex software package of the 1960s. After 1972 the Multics system for General Electric Co. ’s GE 645 computer (and later for Honeywell Inc. ’s computers) became the most sophisticated system, with most of the multiprogramming and time-sharing capabilities that later became standard.

The minicomputers of the 1970s had limited memory and required smaller operating systems. The most important operating system of that period was UNIX , developed by AT&T for large minicomputers as a simpler alternative to Multics. It became widely used in the 1980s, in part because it was free to universities and in part because it was designed with a set of tools that were powerful in the hands of skilled programmers. More recently, Linux , an open-source version of UNIX developed in part by a group led by Finnish computer science student Linus Torvalds and in part by a group led by American computer programmer Richard Stallman , has become popular on personal computers as well as on larger computers.

In addition to such general-purpose systems, special-purpose operating systems run on small computers that control assembly lines, aircraft, and even home appliances. They are real-time systems, designed to provide rapid response to sensors and to use their inputs to control machinery . Operating systems have also been developed for mobile devices such as smartphones and tablets . Apple Inc. ’s iOS , which runs on iPhones and iPads, and Google Inc. ’s Android are two prominent mobile operating systems.

operating system term paper

From the standpoint of a user or an application program , an operating system provides services. Some of these are simple user commands like “dir”—show the files on a disk—while others are low-level “system calls” that a graphics program might use to display an image. In either case the operating system provides appropriate access to its objects, the tables of disk locations in one case and the routines to transfer data to the screen in the other. Some of its routines, those that manage the CPU and memory, are generally accessible only to other portions of the operating system.

Contemporary operating systems for personal computers commonly provide a graphical user interface (GUI). The GUI may be an intrinsic part of the system, as in the older versions of Apple’s Mac OS and Microsoft Corporation ’s Windows OS ; in others it is a set of programs that depend on an underlying system, as in the X Window system for UNIX and Apple’s Mac OS X.

Operating systems also provide network services and file-sharing capabilities—even the ability to share resources between systems of different types, such as Windows and UNIX. Such sharing has become feasible through the introduction of network protocols (communication rules) such as the Internet ’s TCP/IP .

Operating system term paper

Help me do essay, buy a doctoral dissertation grigor mcclelland, dna makes rna makes protein essay.

Remember to book your tickets!

  • September Sold out
  • October Sold out

Help i can't write my essay

Fri 27 Nov 2016

Praesent tincidunt sed tellus ut rutrum sed vitae justo.

Sat 28 Nov 2016

San Francisco

Sun 29 Nov 2016

Tickets, $15 per person

Fan? Drop a note!

IMAGES

  1. Operating Systems Term Paper Example

    operating system term paper

  2. BCA Operating System Question Paper HPU

    operating system term paper

  3. X10317(CS8493)- OPERATING SYSTEM SEMESTER PAPER-JULY 2021

    operating system term paper

  4. Operating System

    operating system term paper

  5. CSI-402 Operating Systems past papers

    operating system term paper

  6. Operating system research paper 11913362

    operating system term paper

VIDEO

  1. Operating System Question paper for PGDCA || Overview of Operating System question paper 2019, 2016

  2. Operating System Paper Examination April/May

  3. How to Establish an Effective Operating System for Long-Term Success? 📈⚙️

  4. Operating Systems(OS) Past Paper Discussion

  5. OS Mid-term Model Question Solution

  6. Introduction to Operating System Important Questions CS3451 Semester 4 Computer science Department

COMMENTS

  1. CS 261: Research Topics in Operating Systems (2021)

    CS 261: Research Topics in Operating Systems (2021) Some links to papers are links to the ACM's site. You may need to use the Harvard VPN to get access to the papers via those links. Alternate links will be provided. Meeting 1 (1/26): Overview Operating system architectures Meeting 2 (1/28): Multics and Unix

  2. (PDF) Operating Systems

    An operating system is a type of system software that manages and controls the resources and computing. capability of a computer or a computer network, and provides users a logical interface for ...

  3. Department of Computer Science and Technology: Past exam papers

    Past exam papers: Operating Systems. Solution notes are available for many past questions to local users. They were produced by question setters, primarily for the benefit of the examiners. These are not model answers: there may be many other good ways of answering a given exam question! The solution notes for the most recent two year's worth ...

  4. Term Paper on the Operating System

    Term Paper on the Characteristics of Operating System. Term Paper on the Fundamental Tasks of Operating System. Term Paper # 1. Definition of the Operating System: ADVERTISEMENTS: In early computers up to the second generation, the individual jobs for processing by the computer system used to be manually loaded, executed by the processor, again ...

  5. Memory Management in Operating System

    This paper describes about the memory management in an operating system and it will demonstrate basic architecture of segmentation in an operating system and basic of its allocation. This paper ...

  6. CS 161: Operating Systems (2020)

    CS 161: Operating Systems (2020) Overview. ... Papers. In some sections we will discuss OS research papers. You'll need to read the papers before class and engage in paper discussion on Piazza. Exams. There will be an in-class midterm and an in-class final. Grading schema. A student's final numerical grade will be calculated using this formula:

  7. Operating systems

    The term "operating system" usually refers to the software that provides the interface between the user and the computer system hardware. This software/hardware system can be viewed as an extended machine which is more convenient and economical to use than the bare machine. As the interface between user and hardware, operating systems must be designed with due consideration for both user ...

  8. operating system Latest Research Papers

    We design a stimulation and a discrepancy extraction scheme and evaluate them with 90 mobile devices, including 70 laptops (among which 30 are of totally identical CPU and operating system) and 20 smartphones. The results show that DeMiCPU can achieve 99.7% precision and recall on average, and 99.8% precision and recall for the 30 identical ...

  9. Exams

    Operating System Engineering. Menu. More Info Syllabus Calendar Lecture Notes and Readings Labs ... Study Materials Tools Related Resources Exams. EXAMS W / SOLUTIONS YEARS Mid-Term Exams: Quiz 1 (PDF) 2002 Quiz 1 (PDF) 2003 Quiz 1 (PDF) 2004 Quiz 1 (PDF) 2005 Quiz 1 (PDF) 2006 Quiz 1 (PDF) 2007 Quiz 1 (without solutions) (PDF) ...

  10. Term Paper 1: OS Research Paper and Presentation

    COMP 3400 Term Paper 1: OS Research Paper and Presentation Spring 2017 Due: Monday 13 March (presentations to be made in class, ... You will research an operating system history topic, write a paper describing it (outline below), write two potential exam questions on the topic, and give a 6-8 minute oral presentation to the class on March 13 ...

  11. Paper Topics

    Paper Topics. (updated Feb 7) Below is a list of suggested contemporary OS topics, issues, and research paper references. Each student must complete 4 short paper assignments on OS topics selected from this list or on OS topics suggested by the student and approved by the instructor. Each student may complete a longer, more detailed research ...

  12. (PDF) A Comprehensive Study of Kernel (Issues and Concepts) in

    This paper's center of attention is the visual operating system based on the OS features and their limitations and strengths by contrasting iOS, Android, Mac, Windows, and Linux operating systems.

  13. PDF The Amoeba Distributed Operating System—A Status Report

    way. In this paper we describe a distributed operating system that we have written, called Amoeba (Mullender et al., 1990; Tanenbaum et al., 1990; Van Renesse et al., 1989), that we believe is appropriate for the distributed systems of the 1990s. One basic idea underlies Amoeba: to the user, the complete system should look like a single computer.

  14. PDF CS240

    • For many systems, disks are the limiting factor • Can limit throughput far below network capacity - E.g., cut naïve video server throughput by factor of 7-8 • Can also limit capacity of a system • Example: build a system to index CS240 lecture notes - Scan all files, create index file - Rely on kernel for low-level details of ...

  15. Term Paper of Operating System Cse-316 Topic:-comparison of Memory

    TERM PAPER OF OPERATING SYSTEM CSE-316 TOPIC:-COMPARISON OF MEMORY MANAGEMENT OF WINDOWS WITH LINUX SUBMITTED TO: LECT. SUBMITTED BY:- Introduction We will be comparing the Memory Management (MM) Sub-Systems of these operating systems - Linux 2.4 and Windows. Windows was chosen since it is a very popular operating system for use as a desktop ...

  16. Operating Systems term paper topics

    Operating Systems: CSE CA3 Topics As part of the CA3- term paper on operating systems concepts, you are encouraged to explore various broad and encompassing topics that reach into the fundamental concepts and advancements within this crucial field. The term papers should aim to investigate, analyze, and present insights into the intricacies (a ...

  17. Operating system (OS)

    operating system (OS), program that manages a computer 's resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections. Management tasks include scheduling resource use to avoid ...

  18. PDF CSE325 End Term Practice Question Paper.pdf

    Lovely Professional University End Term Exam Question Papers with Answers, Study Materials, Projects, Roadmap, and more. - lpu-cse/Subjects/CSE325 - OPERATING SYSTEMS LABORATORY/CSE325 End Term Practice Question Paper.pdf at master · sauravhathi/lpu-cse

  19. Operating system term paper

    The format of paper and questions can depend on your university or instructor that how he is taking the course content. ADVERTISEMENTS: Here is a compilation of term papers on the 'Operating System' for class 11 and 12. What Is a Term Paper A term paper is a research paper required at the end of a school semester.