Chapter 3 - Operating Systems Flashcards

1
Q

Operating System

A

Operating systems are the software programs that manage a computer’s hardware resources
and facilitate the running of software applications and utilities.
They have three main components:

  • Kernel
  • Device drivers
  • Tools

Linux, Apple OS X, Microsoft Windows, Android, and Apple iOS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Kernel

A

The central component of an operating system (OS) is the kernel. The main functions of the kernel include:

  • Process management: The kernel oversees the initiation, execution, and termination of computer processes, ensuring they don’t interfere with each other and helping them access files and resources.
  • Memory management: The kernel controls the allocation, release, and recycling of a computer’s memory for individual processes.
  • Hardware resource management: The kernel ensures processes can access necessary hardware resources without conflicts, such as managing access to network adapters for communication.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Device Drivers

A

Device drivers are software code that enables the kernel to communicate with different hardware components. They act as intermediaries, translating generic kernel commands into specific instructions that hardware components can comprehend. This architecture simplifies the kernel by allowing it to focus on generic device communication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Tools

A

Tools are standalone programs bundled with the OS and used to manage configuration, file systems, and devices. These tools are essentially like regular applications,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Operating System Security Functions

A
  • Authentication: Verifies user credentials during login to establish a session.
  • Resource Access: Manages process access to computer resources to prevent conflicts.
  • Access Control: Enforces access restrictions for users and processes requesting resources.
  • Communication: Facilitates communication between processes, devices, peripherals, and users, including network-based and local interactions.
  • Event Logging: Automatically records system events, such as logins, errors, and configuration changes, in system logs or event logs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Applications

A

Applications are software programs designed for user-initiated tasks, ranging from complex systems like corporate financial management or enterprise resource planning to simpler tools like a bank loan calculator. They execute instructions that involve input data, calculations, and generating output data, with their functionality varying based on their purpose and underlying technologies.

  • Agents
  • Applets
  • Client-server
  • Distributed
  • Web applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Agents

A

Agents are compact, independent programs within larger applications that carry out specific tasks, often without human intervention. They typically operate autonomously, running as services on Windows systems or background processes on Unix systems. Another term for agents is “daemons.” Examples of agents include:

  • Anti-virus: In enterprise environments with a central management console, the anti-virus program on workstations or servers can be considered an agent responsible for security tasks.
  • Patch management: Agents on servers periodically check for software patches and install them when instructed by a central patch management server.
  • Configuration management: Central servers communicate with agents on managed systems to collect configuration information and make configuration changes when necessary for tasks like tracking and managing OS configurations.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Applet

A

An applet is a software program that runs within the context of another program. Unable to run on its own, an applet performs a narrow function. Unlike a subroutine, which is a part of a running program, an applet is a separate object. Probably the most common use of applets is within web browsers.

Examples of web browser applets include media players such as Flash and Shockwave players, Java applets, and content viewers such as Adobe Reader. Figure 3-1 shows a Java applet running in a web browser window

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Client-Server Applications

A

Client-server applications have software components distributed between clients and servers, communicating via networks. Clients typically contain user interface logic and run on personal workstations or mobile devices, while servers execute business logic and centralize services on robust network operating systems. Client-server architecture addresses processing demands by shifting display and input logic to user workstations while maintaining back-end functions on servers. They communicate using protocols like ODBC, CORBA, and SQL*Net.

Modern client-server setups utilize virtualization software and storage area networks (SANs) for efficiency and redundancy. Virtualization allows a single server to host multiple operating systems, reducing hardware and energy costs. SANs store data centrally and offer redundancy through distribution layer switches.

Recent trends involve cloud-based architectures, where clients access applications through Ethernet connections. Third-party providers often manage data centers, but this model presents challenges like lack of local control and potential availability issues.

Initial client-server systems faced scalability and throughput limitations but improved with faster connectivity options. Storage capacity and performance issues were addressed, and software interfaces became web-based, making transitions to cloud storage more seamless for users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Distributed applications

A

Distributed applications run on separate systems with various architectures, like two-tier or three-tier setups, often dividing functions for scalability, performance, geography, and security. Components from different sources can be part of these applications, with some complex systems extending to other platforms. Performance, legal, and security concerns drive this component separation.

To bolster security, distributed applications frequently employ multiple tiers, such as a front-end for business logic and a separate database back end (two-tier) or a user interface front end, middle-tier logic, and a database back end (three-tier).

Managing version control and standardisation is challenging in distributed applications due to frequent component updates. Ongoing coordination and regression testing are necessary to maintain functionality amid constant changes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Thin Client Web Applications Advantages

A

Thin Client Web Applications, emerging in the late 1990s, offer several advantages over traditional client-server and distributed applications:

  • Thinner Clients: End-user workstations require only a lightweight OS and a web browser, reducing software overhead.
  • Better Network Performance: Business logic resides on the server, lightening network demands and allowing more users to use the application without network issues.
  • Lower Cost of Ownership: Organisations need to maintain a current web browser, minimizing administrative overhead compared to managing various client software versions.
  • More Terminal Types Supported: Standardizing on HTML enables support for various browsers and terminal types, including Windows, UNIX, Mac, smartphones, and tablets.
  • Universal Accessibility: Any user worldwide can access web applications with just a browser, eliminating the need for special client software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Thin Client Applications Drawbacks

A
  • Network Dependency: Web applications require a functioning network connection between the client and server.
  • Browser Compatibility: Some web apps work better with specific browsers and may not function well with others.
  • Plug-in Compatibility: Different web-based business applications may need conflicting browser versions and plug-ins, making coexistence challenging.
  • Security Vulnerabilities: Browsers are often targeted by sophisticated attacks due to their widespread use.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly