This document defines operating system concepts and explores operating system history. It defines key terms like kernel and hardware architecture. It describes early operating systems as lacking robust features like memory protection and resource sharing. Modern systems improved on this. The document contrasts monolithic and micro-kernel designs. Finally, it briefly summarizes the history of UNIX, Windows, Linux and Mac OS X development.
Case study of windows a product of microsoft including the history and related to operating system with MS-DOS its scheduling, networking, performance, etc. It also contains the windows architecture, it's system components like kernel, and scheduling through threads in windows.
Case study of windows a product of microsoft including the history and related to operating system with MS-DOS its scheduling, networking, performance, etc. It also contains the windows architecture, it's system components like kernel, and scheduling through threads in windows.
History
Description of Windows Architecture
Layered Architecture
Portability
System Components
Processes & Threads
Kernel Scheduling
Object Manager
Virtual Memory Management
File System
Memory Management
History
Description of Windows Architecture
Layered Architecture
Portability
System Components
Processes & Threads
Kernel Scheduling
Object Manager
Virtual Memory Management
File System
Memory Management
The Eureka Moment: Or, Who Speaks in the Case Method?iosrjce
What is the theoretical rationalefor the case method given its excessive dependence on speech as the
main mode of instruction and learning? This paper argues that the problem of speech has not been adequately
understood in the business school classroom. This is because the term ‘speech’ subsumes both ‘intentional’
speech and the ‘sense of being spoken’ through the ‘desire of the Other.’ The former relates to a situation where
the speaker knows what he is going to say and then goes on to say it. The latter relates to a situation where the
speaker finds that he is saying something more or something less than what he consciously intended to say. It
could also be the case that he winds up saying something Other than what he consciously intended to say. In
other words, there is a difference between articulation and reconstructing the intentionbehind the articulation in
an act of speech. This is the main reason why both instructors and students are afraid to ‘let-go’ in the case
method of instruction. In order to understand this form of resistance and what must be done to come to terms
with it; and find ways to engage successfully with the case method despite it, we must invoke the Lacanian
formulationson the relationship between language and desire that constitute the psychoanalytic model of the
unconscious. These insights relate to the formulations which argue that the unconscious is not only ‘structured
like a language,’ but is also an expression of the ‘desire of the Other.’ These formulations from the
psychoanalytic doctrine of the French psychoanalyst Jacques Lacan then are what will make it possible to make
sense of the resistance to the problem of speech in the classroom. Though this paper focuses on the case method
as understood in business schools modelled on the Harvard Business School, it should be possible to apply these
insights, by implication, in the context of legal education as well.
National guidelines and manual for innovation fund for green jobs creation Ayebazibwe Kenneth
The National Guidelines and Manual for Innovation fund for Green job creation seeks to address the problem of youth unemployment as well as job creation and natural resources management in Uganda. Youth unemployment rate is at 18% twice the national statistical figure. As a result, many stakeholders are working together on various fronts to tackle this national challenge.
Accordingly, United Nations Development Programme (UNDP) is supporting Ministry of Gender, Labour and Social Development through the Inclusive Green Growth for Poverty Reduction (IGGPR) to support youth innovation for Natural Resources Management and Green Jobs Creation and Livelihood Improvement. One of the deliverables for this Project is provide grants to youth groups and individuals who are starting and undertaking innovation projects.
This Guidelines and Manual provides a systematic process of selecting the beneficiaries and implementation modalities for the grants. The Guidelines and Manual therefore enlists the following critical areas;
i. Target Beneficiaries
ii. Eligibility
iii. Available Funds
iv. Beneficiary Selection
v. Enterprise Selection and Project Preparation
vi. Key Priority Sectors
vii. Funds Flow
viii. Submission of Project funding requests
ix. Grievance Redress Mechanism
x. Projects Sustainability
xi. Reporting Mechanisms
xii. Projects Evaluation
This manual that been developed through a consultative process, is expected to guide all stakeholders involved in the management of grants for innovation.
INNOVATION FUND FOR GREEN JOB CREATION: BUSINESS PLAN TEMPLATE Ayebazibwe Kenneth
The Ministry of Gender, Labour and Social Development (Responsible Party), in collaboration with the United Nations Development Programme (UNDP) is implementing Inclusive Green Growth for Poverty Reduction Project (IGGPR). The project aims at providing technical, technological, operational and financial support towards the natural resource management, livelihood improvement and green jobs creation.
One of the key deliverables of the project is the provision of grants to groups and/or individuals who have ideas for initiating and /or are undertaking innovation projects. The National Guidelines and Manual for Innovation Fund for Green Jobs spells out a systematic process of selection of the beneficiary.
The Ministry of Gender, Labour and Social Development (Responsible Party), in collaboration with the United Nations Development Programme (UNDP) is implementing Inclusive Green Growth for Poverty Reduction Project (IGGPR). The project aims at providing technical, technological, operational and financial support towards the natural resource management, livelihood improvement and green jobs creation.
One of the key deliverables of the project is the provision of grants to groups and/or individuals who have ideas for initiating and /or are undertaking innovation projects. The National Guidelines and Manual for Innovation Fund for Green Jobs spells out a systematic process of selection of the beneficiary.
Fellow Ugandans,
I am delighted to engage with the readers of the Uganda Woman magazine once again.
I welcome you to the 2014 Independence issue whose theme is: “Women and Urbanization”. The
articles in this Issue provide information and flag opportunities as well as challenges of women in the
urban areas of Uganda. It is my prayer that stakeholders, including; political leaders, urban authorities,
planners, architects, investors and residents continuously address these issues within their jurisdictions
and mandates.
In the 28 years of the NRM leadership, we see a steady growth of urban and peri-urban areas: a sign of the conducive, secure, pleasant environment and the employment opportunities that have emerged from the economic growth and prosperity in our country.
Uganda is rapidly becoming more urbanised, with the current rate of urbanization standing at 5.7%,
annually. The estimated proportion of the population residing in urban areas is 23% of the total population.
It is, therefore, of strategic importance that the specific needs of the various categories of people working
and residing in our towns, are addressed. The women, children, youth, Persons with Disability (PWDs),
and older persons, deserve a secure, conducive and pleasant place to work and live in.
As we commemorate Uganda’s 52nd Independence Anniversary, we also celebrate the gains we have made in modernising our country, including improving the urban areas. For this, we appreciate the leadership of the President of Uganda, His Excellency Yoweri Kaguta Museveni, for the vision and foresight to transform communities and the NRM Government for providing the infrastructure and services that attract people to urban areas. A case in point is the Kampala Capital City, whose transformation over the last four years has improved the image of Uganda and made us Ugandans very proud.
Next year, we shall mark 20 years of Uganda’s implementation of the Beijing Declaration and Platform
for Action, which is the global agenda for gender equality and women’s empowerment. The Millennium
Development Goals are also up for assessment and the goals of sustainable development are being
articulated. These processes provide an opportunity for us to plan for women to participate better in our
country’s development.
These initiatives should inspire us to look towards the future with hope and optimism that the urban
environment in Uganda will be ideal for men, women, boys and girls.
I wish all readers in Uganda and in the Diaspora best wishes and a joyous Independence Day 2014.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Climate Impact of Software Testing at Nordic Testing Days
Module 3 unit 1
1. Operating System Concepts,
Terminology and History
By Kenneth Ayebazibwe
kynaye@gmail.com
256774185458 / 256702555890
2. Chapter Objectives
• Define a few of the terms which we use in the
Lecture.
• Understand a few basic concepts the are the
foundation of Operating System design.
• Explore Operating System history.
3. Operating System Concepts
• For purposes of this Lecture, we'll consider an
operating system to be the supporting software
structure on which application programs run.
– This support structure includes the facilities to manage
the computer system's resources and any utility
programs needed to maintain and configure the
operating system.
• The heart of system administration is
configuring an operating system to create an
environment suitable for the applications that
the users require.
4. Operating System Concepts
• One can classify operating systems into two broad
groups, early and modern, based on an analysis of
three key features:
– Ability to share CPU resources between multiple
programs.
– Methods employed to control access to system storage.
– Methods employed to protect system and application
memory from corruption.
5. Operating System Concepts
• Early operating systems provided poor support
for these three features.
– Running multiple programs, while possible, was
done via a cooperative system which depended on
each application program to release the CPU
periodically to allow its peer processes to run.
– Protection of system storage was limited. Critical
system files and user files were not protected from
damage by user-level applications.
6. Operating System Concepts
• Finally, early operating systems did not provide memory
protection for individual processes or the operating
system kernel, thus allowing application “bugs” to result
in damage to the parts of the operating system and
applications loaded into memory.
• The poor reliability of early operating systems
is (in part) due to the lack of support for these
features.
7. Operating System Concepts
• Modern operating systems are those which
provide good support for these three features.
– All of the UNIX variants, Linux, Mac OS X and
Windows NT, 2000 and XP provide support for
these features.
• As a result, these modern operating
systems are more robust and reliable.
8. Operating System Concepts
• UNIX systems refer to the Operating System’s core
component as the kernel.
– A UNIX kernel handles the interaction with the system
hardware.
– The UNIX kernel is specific to a particular computer
or group of computers that share a common hardware
design.
– UNIX kernels are built around one of two designs:
• a single, monolithic kernel or
• a micro-kernel.
9. Operating System Concepts
• The monolithic design is older and uses a single binary
image to provide the resource management and
hardware interface functions of the core layer. Some
examples of the monolithic design are Linux and Solaris.
• A micro-kernel design uses a very small task
management component and a suite of modules for all
other resource management functions. Windows NT,
Windows 2000, Windows XP and Mac OS X are
examples of micro-kernel designs.
10. Operating System Concepts
• The recent incarnations of Windows; NT, 2000, and
XP share a similar layered construction approach with
UNIX.
– These recent versions of Windows are based on a
micro-kernel design using a small kernel layer and
hardware abstraction layer at their base.
– The middle layer is made up of dynamically loaded
libraries and services.
– The applications layer contains the familiar
applications such as text processors, spreadsheet, web
browsers, etc.
11. Operating System Concepts
• Hardware designs are often called hardware
architectures.
– Fine distinctions between hardware architectures
matter most at the core level of the operating system.
• Differences such as “Pentium III versus Intel 486” or
“SPARC 4m versus SPARC 4c” are important in the
selection of a kernel or operating system distribution.
– On many vendor’s hardware this simple description is
sufficient to make a choice of operating system.
12. Operating System Concepts
• On PC hardware, the hardware architecture is often
only part of the information needed to select an
operating system.
– The variety of PC hardware (models of video, I/O, and
network cards) all require specific software drivers.
– The availability of drivers for a specific device and a
specific operating system is critical.
– All components in the PC, including each interface
card and the motherboard, need to be supported by the
operating system vendor
13. Operating System Concepts
• At the application layer level, the hardware
architecture distinctions become less fine.
– At this layer general categories such as "Intel x86" or
"SPARC" are sufficient to describe whether a particular
program binary will run on a particular machine.
– This general hardware description is sometimes called
the application architecture.
14. History Lessons
• The development of the various flavors of
UNIX, Windows and Mac OS give us clues to
their administration and design.
15. History Lessons
• The simplified UNIX history tree is a mess.
– A more complete and detailed history tree is even
more confusing.
– A complete tree is about 12 pages long! (see
http://perso.wanadoo.fr/levenez/unix/).
16. History Lessons
• From the late 1970s to early 1980s, UNIX
evolved into two related but distinct camps.
– One camp centered about a commercial UNIX
developed by American Telephone and Telegraph
(AT&T) .
• The AT&T versions were named System III and later
System V.
17. History Lessons
– The other popular UNIX variant, Berkeley Standard
Distribution or BSD UNIX, was funded by the
Department of Defense's Advanced Research Projects
Administration.
• Networking was added to BSD UNIX making it an
important force in the early development of the Internet.
• BSD UNIX formed the basis for the early SunOS, IRIX,
NeXTSTEP and later versions of BSD.
• The most common current BSD-styled UNIXes are the
BSD triplets, OpenBSD, FreeBSD, NetBSD.
18. History Lessons
• Differences between flavors of UNIX become more
apparent the more sophisticated the user becomes.
– At the most basic level, all UNIX variants share a
common set of user level commands that function in a
nearly identical manner with the exception of some
option flags.
– More sophisticated users will note the different option
flags.
– Programmers will note that the BSD and System V
families of UNIX have significant differences in
libraries and system calls.
• The differences between UNIX variants will
be most apparent to the system
19. History Lessons
• From the perspective of a system administrator, a BSD
derived UNIX has several noteworthy differences from its
System V cousins.
– The option flags and output format for several programs,
are different from their System V counterparts.
– BSD UNIXes use a small collection of run control files (e.g.
/etc/rc, /etc/rc.local) which each start multiple service
daemons.
– The BSD UNIX device naming convention for disk and tape
drives usually uses a flat directory scheme with a letter,
number, letter pattern (e.g. /dev/rz0a) to specify the device
driver, device number and partition or density.
20. History Lessons
• So where does Linux fit into all this?
– Linux is sort of a mutt as far as its orientation
with regard to the BSD and System V styles of
UNIXes.
• Many of the commands share the BSD style option flags
and output
• Run-control files and other aspects of system
administration vary between distributions.
21. History Lessons
• Where did Windows come from?
• At nearly the same time the two major UNIX
varieties were establishing themselves and the
commercial UNIX derivatives were being born,
the personal computer was being created.
• Bill Gates and Microsoft delivered the first PC
operating system, the command line oriented
Disk Operating System (DOS).
22. History Lessons
• In an effort to compete with the Apple
graphical user interface (GUI), the Windows
Operating System was developed.
– Early versions of Windows lacked the maturity of
the Apple GUI.
– The Windows development split into two streams:
a “home” or personal version of Windows, and a
“business” or commercial version.
– Recently, Microsoft has been trying to merge the
two versions into a single offering.
23. History Lessons
• Apple and Mac OS X
– Driving along a third parallel set of tracks, Apple
developed Mac OS for their Macintosh computer
during roughly the same time frame as Windows.
• Inspired by the work Xerox had done on graphical user
interfaces, Apple developed the Macintosh, the first
commercially successful personal computer with a
graphical user interface.
24. History Lessons
• Apple and Mac OS X
• NeXT Computers took the look and feel of MacOS and
married it to a UNIX-like micro-kernel architecture to
form the NeXTStep Operating System.
• When Apple acquired NeXT, the developers had an
opportunity to update and expand the Apple GUI
interface, resulting in MacOS X.
25. Summary
• Basic terminology and history gives the system
administrator the background to take on the tasks she
faces.
– Understanding some basic terminology aids in the
choice of software, operating systems and hardware
and forms a common language for broad descriptions
of these items and their relation to each other.
– The history of the development of UNIX, Windows and
Mac OS provides insights into the organization, tools
and problems one faces on a particular type of system.
An understanding and knowledge of this history allows
a system administrator to more rapidly come up to
speed when faced with a new system.
Editor's Notes
It may seem odd to put history in a technical Lecture, but the history of both UNIX and Windows provides important clues about why they look the way they do today and why they have the system management quirks they do. This is of particular importance for the various UNIX incarnations.
At an abstract level, modern operating systems share several design concepts. Due to the size and complexity of modern operating systems, each consists of a layered design. A core part of the operating system forms the base of the design and directly interacts with the computer hardware. The core layer is usually loaded into memory when the computer boots and stays there throughout. A middle layer (or layers), made up of a suite of libraries and services, form an abstraction of the computer hardware and provide a connection to the core layer. Items in the middle layer may be loaded as needed. Riding on top of these middle layers comes the user shell (or Graphical User Interface - GUI) and the application programs themselves. The layers are protected from each other and connected to each other through specific Application Programming Interfaces (API's). This provides modularity, allowing individual components in a layer to be changed without effecting items in another layer. It also provides a framework for reliability and security through careful control of the interactions between layers.
Modern monolithic kernels extend their designs by allowing additional components, known as loadable modules, to be added to the kernel after it starts running. These loadable modules are used to provide additional features such as the code needed to control less commonly used devices, or 3 rd party software to control new devices. Since a loadable module functions as part of the kernel, care needs to be taken to assure that any module loaded into the kernel is secure. Systems requiring high security will need to disable the capability of loading modules and use a purely monolithic kernel to avoid the possibility of changes to the core functions of the operating system. Linux and Solaris are two examples of monolithic kernel designs that include loadable modules.
Note that the dynamically loaded libraries (DLLs) found in Windows differ significantly from the loadable kernel modules found in some UNIX variants. Loadable modules are specific to a given kernel and one generally cannot have multiple versions available at the same time. DLLs do allow for multiple versions often resulting in mismatched DLLs. These instances of incorrect versions for a DLL and a given operating system kernel or application program, is a common source of problems on Windows systems.
The application architecture is often stated more completely as a combination of the general hardware architecture and the operating system. You will frequently see application architectures described as Linux x86 or Solaris SPARC. Still more detailed specifications such as Linux x86 libc5 or Linux alpha 2.2.17 add the kernel version or libraries needed by the application to the description of the operating system and hardware architecture. The main purpose of these application architecture specifications is help match application binaries to the operating systems and hardware on which they will run.
One of the reasons for the numerous interconnections between branches in the history of UNIX has been the availability of the UNIX source code, either freely or under license, and the ethos of borrowing ideas and sharing modifications and fixes. From the start, UNIX was built by programmers for programmers, and the ability to hack on the operating system itself, fix bugs, add features and share those changes with others has been a core value of the world of UNIX.
UNIX System V evolved from the earlier UNIX System III. This version of UNIX had great influence over the later development of UNIX due the publication by AT&T of the System V Interface Definition (SVID), a complete description of what UNIX was and how it was to behave. With compatibility as their goal, nearly every major UNIX flavor picked up some or all of the features specified in the SVID. Sadly, the publication and acceptance of the SVID did not bring about the unified compatibility it might have. Most of the commercial UNIXes are System V-like (to varying degrees) depending on how closely the vendor followed the published specifications. The result is an annoying list of minor differences where these operating systems might have been more fully compatible Common System V style UNIXes include Solaris, HP-UX, IRIX and AIX. Sun's operating environment, in particular, made a very major switch in 1987 from being SunOS, a BSD-styled UNIX operating system to the System V style UNIX known as Solaris.
From a system administrator's viewpoint, a System V derived UNIX differs from a BSD derived UNIX in a couple of areas. Some command option flags and output are different. The run control files on a System V styled system are numerous, with each one starting just one service. They are stored in a separate directory and links from the files into directories named for the various run levels are used to specify which services to start at given level and the order to start them in. This is covered in greater detail in chapter 4, System Boot and Shutdown Procedures. Finally, System V derived UNIXes use a system of sub-directories and number-letter sequences to name disk and tape devices rather then the flat arrangement found on BSD derived systems.
Linux owes its birth in part to additional restrictions AT&T placed on the use of UNIX source code for teaching. These restrictions led to the development of MINIX, an implementation of UNIX written by Andy Tanenbaum for teaching purposes. MINIX provided the inspiration for Linus Torvalds to write his own implementation of UNIX. The Linux kernel developed by Linus was combined with a suite of UNIX programs, mostly written by the GNU project, into a Linux distribution. When someone talks about Linux, they are most often referring to a distribution, a combination of the Linux kernel and the associated GNU utility programs. Linux distributions are sometimes referred to as GNU/Linux to signify the marriage between the Linux kernel, and the GNU compilers, libraries, and tools. In this Lecture when we refer to Linux, we are referring to a complete distribution, including both the Linux kernel and the GNU tools.
Figure 2-3 in the text shows a simplified history of the popular Windows operating system. While the shift from PC-DOS to Windows was a major event in this history, the more important event for system administrators is the split between Windows 9x and Windows NT. Rather then continuing to extend the PC-DOS based Windows 9x series, Windows NT and it's progeny, Windows 2000 and Windows XP, were built on an all new micro-kernel designed by a team led by David Cutler who had previously led the VMS design group at Digital Equipment Corporation. It should come as no surprise that many of the features one sees in Windows NT such as the user privilege system and access control lists for file access control look very similar to the features one finds in VMS. The Windows 9x series are considered “consumer” operating systems. Their lack of the key features of a modern operating system limit their ability to be effectively managed in a multiuser environment. In the remainder of this Lecture, we will focus on the “comercial” versions of Windows, NT, 2000 & XP.
Windows NT adds Windows versions of several key features associated with UNIX and other modern, multi-user operating systems and not present in the PC-DOS based versions of Windows. These include full memory protection for the kernel and user programs, and facilities for networking and inter-process communications. Windows also adds a number of system services including a scripting engine shared by all applications. The main thing lacking in Windows NT at its initial release was the user interface enhancements and wide range of supported hardware found in the Windows 9x releases. The later history of Windows has been one of unification. With the release of Windows XP, the user interface enhancements and wide range of hardware support have been fully incorporated into the Windows NT based kernel and operating system. This integrated design is not without its problems for the system administrator. Some Windows design choices make the task of securing Windows more difficult. Shared resources such as the visual basic scripting engine, a part of the operating system that is available to every program, have been exploited in a wide number of ways to allow viruses, and other malware to spread widely on the Windows platform. Similarly, shared libraries and services on servers based on the Windows platform have had a poor history with regard to immunity to bugs that have resulted in network visible vulnerabilities. Web site defacements and break-ins are often the result of these vulnerabilities.
Macintosh occupies an import place in history as it served as the inspiration and model for graphical user interfaces that would follow, including Windows and the various X windows based desktops found on UNIX. However, the early versions of Mac OS like the Windows 9x series suffered from their lack of support for the key features of a modern operating system.
After Apple's acquisition of NeXT, the history of MacOS merges into the history of UNIX. The NeXT operating system, NeXTSTEP, is based on the work on Mach, a micro-kernel operating system written at Carnige-Mellon University. Apple developed MacOS X using the modern NeXTSTEP as its base. MacOS X has both the Macintosh user interface and the OpenBSD UNIX interface riding on top of the Mach kernel. From a system administrator's viewpoint, MacOS X appears much like NeXTSTEP. The specialized NeXT utilities such as netinfo are there for basic user, host and network configuration management. The familiar UNIX utilities are very much like they are on a OpenBSD UNIX system. However, there are two important exceptions. The Macintosh user interface is based on Apple's proprietary windowing system, not X windows as found on other UNIX systems. While X windows servers are available for MacOS X, the native window system is proprietary. The second notable difference is the filesystem. The default filesystem of Mac OS X is the Macintosh HFS+ filesystem. HFS+ does not provide all of the filesystem features expected by UNIX, in particular MacOS has differences in where it stores metadata (file permissions and ownerships), filename case sensitivity, and case preservation. These differences create some unexpected situations that can result in security problems.