Free Essay

Microkernel

In:

Submitted By DarkChemistry
Words 288
Pages 2
In computer science, a microkernel (also known as μ-kernel or Samuel kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC). If the hardware provides multiple rings or CPU modes, the microkernel is the only software executing at the most privileged level (generally referred to as supervisor or kernel mode).[citation needed] Traditional operating system functions, such as device drivers, protocol stacks and file systems, are removed from the microkernel to run in user space.[citation needed] In source code size, microkernels tend to be under 10,000 lines of code, as a general rule. MINIX's kernel, for example has fewer than 6,000 lines of code.[1]
Microkernels were developed in the 1980s as a response to changes in the computer world, and to several challenges adapting existing "mono-kernels" to these new systems. New device drivers, protocol stacks, file systems and other low-level systems were being developed all the time. This code was normally located in the monolithic kernel, and thus required considerable work and careful code management to work on. Microkernels were developed with the idea that all of these services would be implemented as user-space programs, like any other, allowing them to be worked on monolithically and started and stopped like any other program. This would not only allow these services to be more easily worked on, but also separated the kernel code to allow it to be finely tuned without worrying about unintended side effects. Moreover, it would allow entirely new operating systems to be "built up" on a common core, aiding OS research.

Similar Documents

Premium Essay

Computer Engineering

...De La Salle Lipa College Of Information Technology and Engineering Computer Engineering Department Assignment #1 Submitted By: Submitted To: Mary Anne Palicpic Engr. Josielynn Asi O4B – OperSys Instructor June 30, 2014 OS based on Micro-kernel Structure One approach to modern operating system design is to build the distributed operating system as a set of independent system servers using the primitive, generic services of a microkernel. Compared with traditional operating systems, the micro-kernel approach adds two new aspects to the low-level kernel foundation: distribution and subsystem support. In other words, this technology adds to the traditional monolithic architectures the necessary modularity, key to their evolution, introducing the object oriented approach to operating system design. The micro-kernel provides a virtual machine for processor use, memory allocation and communication between operating system components. This approach has been used in several key projects such as CHORUS (researched at INRIA, France, then developed and commercialized by Chorus Systems), Amoeba (Free University and Center for Mathematics and Computer Science, Amsterdam), MOS (Hebrew University of Jerusalem), Topaz (DEC/SRC), the V-system (Stanford University). The CHORUS product line includes the CHORUS Nucleus, a micro-kernel for core operating system services, and CHORUS/MiX, a binary compatible, multi-server UNIX System V implementation...

Words: 908 - Pages: 4

Premium Essay

Nt1310 Unit 1 Case Study

...hypothetical big picture instead of the petty stuff like some of the little operands. Think of it as a family making dinner and the children get to set the table well the parents make the food. Making the table up is important in the long run because every job is important but the big picture is that the food is made because without it no one can eat. An example of one of these support processor is the one that is built in to do the math that takes some time to accomplish but is made easier with the support from the support processor. 6) What is a microkernel and why is the concept important? A microkernel is a small piece of software that contains the near minimum amount of features and functions to be able to run an operating system. A couple benefits by using the microkernel approach we made it easier to extend the operating system. The microkernel also provides more security and reliability. If it so happens that you have a microkernel fail, the rest of the operating system will remain untouched so you don’t have a huge failure. 7) What is a page fault? What do they typically indicate about a process? A page fault is a type of interrupt that tells the operating system to go into the virtual memory and load onto the RAM the memory that a program was looking for but it was not in the main memory which tells us that the process that its either not allowed to access the memory or it just wasn’t available in the main memory and could not translate the virtual memory it tries to...

Words: 1273 - Pages: 6

Free Essay

Operarting Systems

...Operating Systems Section A Part one 1. a. Heap 2. c. An execution of program 3. a. without a break irrespective of size 4. C. Page replacement 5. b. To execute a procedure in another compute in the distributed system 6. b. High performance by serving several processes simultaneously 7. b. To execute a procedure in another compute in the distributed system 8. c. Multi-site transaction 9. c. Both a & b 10. d. 1 or more CPU True and False 1. false 2. True 3. True 4. True 5. True 6. True 7. False 8. False 9. False 10. True Section B Answer 1) It is a secure means to recognize a user when accessing government services online. The user remains anonymous, and the authentication process just confirms that the credential is valid and is in the hands of the owner of the credential. Credential authentication does not reveal or confirm identity to the government website. It receives only a message confirming that your credential (username/password) was successfully validated by your bank or by the government. Answer 2) File system a. Directory system for convenient grouping of files b. Protection of files against illegal access c. File sharing semantics d. Reliable storage of files IOCS a. Effecient operation of I/O devices b. Effecient access to records in file c. Invokes facilities through kernel d. Perform I/O operations without knowing the...

Words: 2202 - Pages: 9

Free Essay

Rtos

...2/21/2009 |Electronics | Instrumentation | Electrical- seminar Topic | www.techalone.com | ABSTRACT Real-time systems play a considerable role in our society, and they cover a spectrum from the very simple to the very complex. Examples of current real-time systems include the control of domestic appliances like washing machines and televisions, the control of automobile engines, telecommunication switching systems, military command and control systems, industrial process control, flight control systems, and space shuttle and aircraft avionics. All of these involve gathering data from the environment, processing of gathered data, and providing timely response. A concept of time is the distinguishing issue between real-time and non-real-time systems. When a usual design goal for non-real-time systems is to maximize system's throughput, the goal for real-time system design is to guarantee, that all tasks are processed within a given time. The taxonomy of time introduces special aspects for real-time system research. Real-time operating systems are an integral part of real-time systems. Future systems will be much larger, more widely distributed, and will be expected to perform a constantly changing set of duties in dynamic environments. This also sets more requirements for future real-time operating systems. This seminar has the humble aim to convey...

Words: 6435 - Pages: 26

Free Essay

Hrd Paper

...1. Discuss the concepts of interface (API). (15 marks) API stands for application program interface. The applications are the tools, games, social networks and other software that we users use to interact with the computer. Programming is how engineers create all the software that makes our lives so much easier and an interface is a common boundary shared by two applications or programs that allow both to communicate with one another. An application-programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company releases its API to the public so that other software developers can design products that are powered by its service. An API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When you buy mobile phone online and enter your credit card information, the mobile phone Web site uses an API to send your credit card information to a remote application that verifies whether your information is correct. Once payment is confirmed, the remote application sends a response back to the mobile phone Web site saying it's OK to issue the phone. Users only see one interface -- the mobile phone Web site but behind the scenes, many applications are working together using APIs. This type of integration is called seamless, since the user never notices when software functions are handed from one...

Words: 1702 - Pages: 7

Premium Essay

Cyber Security

...they say they are.  Automated theorem proving and other verification tools can enable critical algorithms and code used in secure systems to be mathematically proven to meet their specifications.  Capability and access control list techniques can be used to ensure privilege separation and mandatory access control. This section discusses their use.  Chain of trust techniques can be used to attempt to ensure that all software loaded has been certified as authentic by the system's designers.  Cryptographic techniques can be used to defend data in transit between systems, reducing the probability that data exchanged between systems can be intercepted or modified.  Firewalls can provide some protection from online intrusion.  A microkernel is a carefully crafted, deliberately small corpus of software that underlies the operating...

Words: 519 - Pages: 3

Free Essay

Security Exploitations of an Rtos

...being employed using this technology. With the implementation of IPv6 , the number of IP addresses that are now available in order to support this boom in the use of embedded systems have also seen an increase in the types of operating systems that helps to manage these systems. However, this has created another area where malicious attackers can exploit some of the security flaws that can be found in these embedded systems. This research paper will outline how microkernels and monolithic kernels that are found in these real time operating systems have been exploited due to careless source code programming in their stack and heap memory areas. Some of these flaws can lead to buffer overflow of memory core areas which can lead to memory being overwritten and being replaced with other I/O or buffer underflow of memory which can lead to memory leakage. Disaster happens when an operating system fails to prevent the unauthorized usage of resources in relation to embedded systems. Keywords: RTOS security; microkernel; memory management; stack; heap; interrupts, embedded system Running head: SECURITY EXPLOITATIONS OF REAL TIME OPERATING SYSTEMS 3 Security Exploitations of Real Time Operating Systems in Embedded Systems Introduction: Real Time Operating Systems or RTOS plays a central role in managing and controlling embedded...

Words: 662 - Pages: 3

Premium Essay

Essays

...Module 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation Common System Components Process Management Main Memory Management Secondary-Storage Management I/O System Management File Management Protection System Networking Command-Interpreter System Process Management A process is a program in execution. A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. The operating system is responsible for the following activities in connection with process management. Process creation and deletion. process suspension and resumption. Provision of mechanisms for: process synchronization process communication Main-Memory Management Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. Main memory is a volatile storage device. It loses its contents in the case of system failure. The operating system is responsible for the following activities in connections with memory management: Keep track of which parts of memory are currently being used and by whom. Decide which processes to load when memory space becomes...

Words: 1619 - Pages: 7

Free Essay

Pos 355 Cisco Ios

...Router/ Switch Operating System Cisco IOS or Inter-work Operating System is an operating system for the company Cisco’s system routers and network switches. Cisco systems is a multinational corporation based in San Jose of California that designs, manufactures, and sells networking equipment. The company was founded in 1984 by two people working at Stanford University on the computer support staff. The two Stanford University members were Leonard Bosack, who was in charge of the computer science department’s computers and his then girl friend Sandy Lerner who was in charge of the graduate school of business’s computers and they named it after San Francisco which is why in the company’s early years they insisted on the first “c” in cisco being not capitalized. Cisco IOS is the operating system used for their products and I will go over the history and tech specifications of this operating system. The Cisco IOS was first based off of Stanford University’s multiple protocol router software which was written by William Yeager a Stanford Research Engineer while at Stanford Medical School. Cisco IOS is a package of routing, switching, internetworking, and telecommunications functions integrated into a multitasking operating system. Cisco IOS is versioned using three numbers and a few letters in the general form of a.b(c.d)e with a being the major version number and b is the minor version number, c is the release number, and d is the interim build number omitted from general...

Words: 1061 - Pages: 5

Premium Essay

Patient Contacted Home Telehealth. Patient Stated He Would Be Going Out of Town for Two Weeks. Patient Is Requesting Call for Care Coordinator.

...Study Guide for Windows Security Final IS3340 1. Many current operating systems actually implement microkernel architecture. Microkernel only implements the minimal required. Processes generally run in either user mode or supervisor mode. 2. The process of providing and denying access is called access control. Access control is multi step process starting with Identification and authentication. Three authentication types are type I, II, and III 3. User rights define the tasks that user is permitted to carry out, such as take ownership of objects or shutdown the computer. Permissions define what a user can do to a specific object such as read or delete the object. 4. This functionality has matured into a core Windows feature called, Active Directory this allows users and groups to be defined once and shared among multiple computers. 5. The main feature of Microsoft Active Directory is the ability to define identity and Authorization permission that can be shared among multiple computers within one or more domains. 6. The principal of providing the just the necessary access required to carry out a task is called the principal of least privilege or LUAs. 7. Access Models: Identification, Authentication, Authorization, ACL’s and Security Access Token (SAT). 8. Access Control List (ACL), Discretionary Access Control List (DACL), and Access Control Entry (ACE). 9. Access Models: Identification, Authentication, Authorization, ACL’s and Security Access Token (SAT). 10. cacls...

Words: 1195 - Pages: 5

Free Essay

It Bus

...Chapter 2. Security in the Microsoft Windows Operating System ONE OF THE MORE DIFFICULT TASKS when securing any computer system or network is identifying where to start. There are many components in any computing environment. Each component is a potential point of attack. Since the operating system provides the ability for software and hardware to interact it is a good starting point for securing an entire environment. On any computer, the operating system enables software to access physical resources. For example, it is the operating system that governs how any application actually reads from, or writes to, a physical disk. Consequently, the operating system is a prime candidate for attack and a valuable resource to protect. From an attacker's point of view, a compromised operating system provides easy access to protected information. Compromising operating system controls gives the attacker the ability to remove evidence of attacks and "clean up" any leftover log entries or other traces of the attack. A secure operating system is the basis of a secure environment. In this chapter you will learn about the Windows operating system architecture and controls to ensure system security. You will also learn how attackers search for, find, and exploit operating system vulnerabilities. With the knowledge of how attackers operate you'll be able to identify and implement the right controls to secure your environment. Chapter 2 Topics In this chapter, the following topics and concepts are presented:...

Words: 6274 - Pages: 26

Free Essay

Operating System

...The Amoeba Distributed Operating System 1. INTRODUCTION Roughly speaking, we can divide the history of modern computing into the following eras: 1970s: Timesharing (1 computer with many users) 1980s: Personal computing (1 computer per user) 1990s: Parallel computing (many computers per user) Until about 1980, computers were huge, expensive, and located in computer centers. Most organizations had a single large machine. In the 1980s, prices came down to the point where each user could have his or her own personal computer or workstation. These machines were often networked together, so that users could do remote logins on other people’s computers or share files in various (often ad hoc) ways. Nowadays some systems have many processors per user, either in the form of a parallel computer or a large collection of CPUs shared by a small user community. Such systems are usually called parallel or distributed computer systems. This development raises the question of what kind of software will be needed for these new systems. To answer this question, a group under the direction of Prof. Andrew S. Tanenbaum at the Vrije Universiteit (VU) in Amsterdam (The Netherlands) has been doing research since 1980 in the area of distributed computer systems. This research, partly done in cooperation with the Centrum voor Wiskunde en Informatica (CWI), has resulted in the development of a new distributed operating system, called Amoeba, designed for an environment consisting...

Words: 4509 - Pages: 19

Premium Essay

HỏI Con 5s

...Part 1 Introduction 1.1 What is an operating system 1.2 History of operating systems 1.3 Computer hardware review 1.4 The operating system zoo 1.5 Operating system concepts 1.6 System calls 1.7 Operating System Structure 1 1.1 What is an operating system 2 What is An Operating System A modern computer consists of: • • • • • One or more processors Main memory Disks Printers Various input/output devices Managing all these components requires a layer of software – the operating system 3 What is an Operating System 4 The Operating System as an Extended Machine - Hides the messy details which must be performed - Presents user with a virtual machine, easier to use 5 The Operating System as a Resource Manager • • • Allow multiple programs to run at the same time Manage and protect memory, I/O devices, and other resources Includes multiplexing (sharing) resources in two different ways: • In time • In space 6 1.2 History of Operating Systems 7 History of Operating Systems • First generation 1945 - 1955 – vacuum tubes, plug boards • Second generation 1955 - 1965 – transistors, batch systems • Third generation 1965 – 1980 – ICs and multiprogramming • Fourth generation 1980 – present – personal computers 8 History of Operating Systems First generation 1945 - 1955 • Computers:ENIAC, UNIVAC… • Operating System: No OS, • Machine Language: plugboards • Single group: designed, built, programmed...

Words: 2601 - Pages: 11

Free Essay

Hypervisor 1

...Hypervisors 1 Runner Header: Hypervisors Hypervisors CIS 512 December 16, 2012 Hypervisors 2 In today’s world technology has advance in numerous ways. Technology has given the capabilities to receive, fix, and move objects without being present. This is the concept of virtualization. “Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources”. The virtualization innovation has assisted companies in a positive way, but also can inflict negative wounds to the organization. Virtualization is a proven software technology that is rapidly transforming the IT landscape and fundamentally changing the way that people compute. The 1960s was when virtualization was first deployed by IBM, itts main purpose was to operate mainframe hardware through separating them into virtual machine. In the 1980s and 1990s virtualization was not needed due to the growing numbers of desktop computing and x86 servers. New issues came to rise such as soaring maintenance and managing cost which lead to the creation of virtualization for x86 platform. Virtualization significantly drops general IT costs. Virtualization permits you to run several operating systems on a single computer. In July 2006 Microsoft made public a free Microsoft Virtual PC 2004 which is a windows hosted virtualization program. The latest version is combined with Windows 7 operating system (http://www.infobarrel.com/History_of_Virtualization)...

Words: 2624 - Pages: 11

Premium Essay

Nt1110

...NT1110_Antonio Morgan_Module1_Lab.doc An operating system (OS) is a software program that manages the hardware and software resources of a computer. A key component of system software, the OS performs basic tasks, such as controlling and allocating memory, prioritizing the processing of instructions, controlling input and output devices, facilitating networking, and managing files. Modern general-purpose computers, including personal computers and mainframes, have an operating system (a general purpose operating system) to run other programs, such as application software. Examples of operating systems for personal computers include Microsoft Windows, Linux, Mac OS (Darwin), and Unix.  The lowest level of any operating system is its kernel. This is the first layer of software loaded into memory when a system boots or starts up. The kernel provides access to various common core services to all other system and application programs. These services include, but are not limited to: task scheduling, memory management, disk access, and access to hardware devices.  Apart from the kernel, an operating system is often distributed with system software that manages a graphical user interface (although Windows and Macintosh have integrated these programs into the operating system), as well as utility programs for tasks such as managing files and configuring the operating system. Oftentimes distributed with operating systems are application software that does not directly relate to...

Words: 592 - Pages: 3