Apple iOS and Android OS are examples of the digital foundations upon which our modern lives are built. These operating systems, the invisible architects of our smartphones and tablets, orchestrate a symphony of tasks from the moment we power up our devices. Imagine them as the conductors of an orchestra, managing the flow of data, the allocation of resources, and the seamless interaction between hardware and software.
They’re the silent partners that enable us to connect with the world, consume information, and express ourselves, all at the touch of a screen. But what exactly
-are* these magical programs, and how do they work their wonders?
Think of an operating system as the essential middleman, translating our commands into actions the device understands. It handles everything from displaying the user interface to managing the phone’s memory and ensuring apps run smoothly. It’s the gatekeeper, the traffic controller, and the ultimate multitasker, allowing us to jump between sending emails, browsing the web, and taking photos without a second thought.
iOS, known for its sleek design and tight integration, and Android, celebrated for its open nature and vast customization options, both exemplify these core principles, albeit with their unique personalities and approaches. These two giants of the mobile world share the same fundamental purpose, yet their differences are what make the digital landscape so diverse and dynamic.
Operating Systems Defined

Ever wondered how your phone magically knows when you tap an app, or how your computer manages to run multiple programs at once without collapsing into a heap of digital confusion? The answer, in a nutshell, lies with the operating system, the unsung hero of the digital world. It’s the silent conductor, orchestrating the complex symphony of hardware and software that allows us to interact with our devices.
Fundamental Role of an Operating System
At its core, an operating system (OS) is the foundational software that acts as an intermediary between the user and the computer’s hardware. Think of it as the translator, taking your commands and converting them into instructions the hardware can understand, and then relaying the results back to you in a user-friendly format. Without an OS, interacting with a computer would be like trying to speak to someone who only understands a language you don’t know – utterly impossible.
The OS also manages resources like memory, storage, and processing power, ensuring that all applications can run smoothly and efficiently. It’s a complex piece of software, but its purpose is remarkably straightforward: to make using a computer a seamless and enjoyable experience.
Concise Definition of an Operating System
Simply put, an operating system is the master control program that manages all the other software and hardware on a computer or mobile device. It’s the software that boots up when you turn on your device, and it provides the basic functionality that allows you to use applications, access files, and connect to the internet. Consider it the digital equivalent of a city’s infrastructure – without it, everything grinds to a halt.
Common Tasks Managed by an Operating System
The OS handles a vast array of tasks behind the scenes, ensuring the smooth operation of your device. It’s like a highly organized backstage crew, working tirelessly to keep the show running. Here are some of the key responsibilities:
- Managing Hardware: The OS is responsible for controlling and coordinating all the hardware components of a computer, including the CPU, memory, hard drives, and peripherals like printers and keyboards. It acts as the go-between, ensuring that the hardware and software can communicate effectively.
- Memory Management: The OS allocates and manages the computer’s memory (RAM), ensuring that each program has the resources it needs to run without interfering with other programs. This prevents crashes and ensures efficient multitasking.
- File System Management: The OS organizes and manages the files and folders stored on the computer’s storage devices. It allows users to create, delete, and access files, and it also handles the underlying storage structure.
- Process Management: The OS manages the execution of programs, also known as processes. It schedules which processes run and allocates resources to them, ensuring that the computer can run multiple programs simultaneously.
- User Interface: The OS provides the user interface (UI), which allows users to interact with the computer. This includes the graphical user interface (GUI) with windows, icons, and menus, or the command-line interface (CLI) that accepts text commands.
- Security: The OS provides security features to protect the computer from malware, viruses, and unauthorized access. This includes user authentication, access control, and firewall protection.
Core Characteristics of iOS and Android
The rivalry between iOS and Android is more than just a battle of operating systems; it’s a clash of philosophies, engineering approaches, and user experiences. Understanding the core characteristics of each platform is crucial for anyone navigating the mobile landscape, whether you’re a developer, a tech enthusiast, or simply a user trying to decide which device to buy. Let’s delve into the fundamental differences that define these two titans.
Key Architectural Differences Between iOS and Android
The architectural underpinnings of iOS and Android are where the true divergence begins. These differences dictate everything from how apps are developed to how efficiently the devices perform. The two systems approach the management of hardware and software with distinct methodologies.The architecture of iOS is characterized by its closed-source nature and tight integration with Apple’s hardware. This means:
- Hardware and Software Synergy: Apple controls both the hardware and software, allowing for optimized performance and resource allocation. This close integration allows for streamlined updates and consistent experiences across all iOS devices. For example, Apple’s A-series chips are designed specifically for iOS, leading to optimized performance and power efficiency.
- Development Ecosystem: iOS development is primarily done using Swift and Objective-C, and apps are distributed through the App Store, which has stringent quality control measures.
- Security Focus: The closed nature of iOS allows for tighter security controls, with sandboxing of apps and rigorous review processes. This contributes to a generally lower risk of malware compared to Android.
In contrast, Android embraces an open-source model, offering greater flexibility and customization options.
- Open Source and Customization: Android’s open-source nature allows manufacturers to customize the operating system to fit their hardware, leading to a diverse range of devices and features.
- Java and Kotlin Development: Android applications are typically developed using Java or Kotlin, with a wide range of tools and frameworks available. The Android ecosystem is vast, allowing for more diverse application availability.
- Hardware Diversity: Android supports a wide range of hardware configurations, leading to a broader price range and device choices for consumers.
- Virtual Machine and Dalvik/ART: Android utilizes a virtual machine (Dalvik, and later ART) to run applications, which provides a layer of abstraction between the application and the hardware. This allows for portability across different hardware architectures.
User Interface Design Philosophies of iOS and Android
The user interface (UI) is the face of any operating system, the primary means through which users interact with their devices. The design philosophies of iOS and Android shape how users navigate, interact, and perceive their mobile experiences. The differences in their approaches are readily apparent in the aesthetics, functionality, and overall usability of each platform.iOS’s UI design philosophy emphasizes simplicity, intuitiveness, and a focus on ease of use.
- Consistency and Minimalism: iOS is known for its clean, uncluttered interface. The design language emphasizes consistency across all apps and devices, providing a familiar experience for users. The use of flat design, clear typography, and minimal animations contributes to this sense of simplicity.
- User-Centric Design: Apple places a strong emphasis on user experience, ensuring that interactions are straightforward and intuitive. Gestures are used extensively to navigate the system, making it easy to learn and use.
- Hardware-Software Integration: The close integration between hardware and software allows Apple to optimize the UI for specific devices, such as incorporating haptic feedback and leveraging the display’s capabilities.
- App Store Guidelines: Apple’s stringent App Store guidelines ensure that all apps meet a high standard of design and usability, contributing to a consistent user experience.
Android’s UI design philosophy focuses on flexibility, customization, and open standards.
- Customization and Adaptability: Android allows users to customize their devices extensively, from widgets and launchers to system-wide themes. This level of customization is a key differentiator from iOS.
- Material Design: Google’s Material Design language provides a set of guidelines for Android app developers, promoting a consistent look and feel. Material Design utilizes a card-based layout, animations, and shadows to create a visually appealing and intuitive interface.
- Openness and Choice: Android’s open nature encourages innovation and experimentation, leading to a wide variety of UI designs and features across different devices and manufacturers.
- Adaptability to Diverse Hardware: Android’s UI is designed to adapt to a wide range of screen sizes, resolutions, and hardware configurations. This flexibility is essential, given the diversity of Android devices available.
Security Models Employed by iOS and Android
Security is a paramount concern in the mobile world, given the sensitive data that users store on their devices. The security models employed by iOS and Android reflect their architectural differences and design philosophies, impacting the level of protection and the user experience. The models diverge in their approach to app sandboxing, permission management, and system updates.iOS employs a security model built on a “walled garden” approach, where Apple maintains strict control over the hardware, software, and app ecosystem.
- App Sandboxing: iOS utilizes a robust sandboxing mechanism, which isolates apps from each other and the operating system. This prevents malicious apps from accessing other apps’ data or interfering with system functions.
- App Review Process: All apps submitted to the App Store undergo a rigorous review process, which helps to identify and remove malicious or problematic apps before they reach users. This is a critical security layer that limits the potential for malware.
- System Updates: Apple provides regular system updates, including security patches, to all iOS devices. These updates are typically pushed out quickly and efficiently, ensuring that users are protected against the latest threats.
- Encryption: iOS devices use strong encryption to protect user data, both at rest and in transit. This helps to safeguard sensitive information, such as photos, contacts, and emails.
Android’s security model, while also robust, is built on a more open and flexible architecture.
- Permission Management: Android uses a permission system that requires apps to request access to specific device features and data. Users have granular control over these permissions, allowing them to grant or deny access as needed.
- App Verification: Google Play Protect, the built-in security service for Android, scans apps for malware and other threats. This helps to protect users from malicious apps, although it is not as strict as Apple’s App Store review process.
- Open Source and Customization: The open-source nature of Android allows manufacturers to customize the operating system, which can sometimes lead to security vulnerabilities if not properly implemented.
- Fragmentation: The Android ecosystem is fragmented, with a wide variety of devices and operating system versions. This can make it more difficult to distribute security updates quickly and efficiently.
- Google Play Protect: Google Play Protect is a security service built into Android that scans apps for malicious behavior and helps protect users from potential threats.
Comparative Analysis
Choosing a smartphone operating system is akin to picking a life partner; you’re signing up for a long-term relationship with its quirks, strengths, and ecosystem. The battle between iOS and Android is a constant, a dance of innovation and adaptation, each vying for the affections of users worldwide. This analysis will delve into the core differences between these titans, examining their app ecosystems, hardware compatibility, and the nuances of user experience, customization, and open-source nature.
App Ecosystems: Availability and Curation
The app stores, Apple’s App Store and Google’s Play Store, are the gateways to the digital worlds of iOS and Android. These digital marketplaces are not just repositories of applications; they are carefully curated environments, each with its own philosophy and approach to app availability and user safety.The App Store, often viewed as the more tightly controlled of the two, places a strong emphasis on quality and security.
Apple’s rigorous review process aims to ensure that apps meet stringent standards before they are made available to users. This can sometimes lead to a slightly smaller app selection compared to the Play Store, but it often translates into a more polished and reliable experience. This focus on curation helps to foster a safer environment, with fewer instances of malware and a more consistent level of quality across the board.In contrast, the Google Play Store embraces a more open approach.
While Google also employs app review processes, the ecosystem is generally more permissive, resulting in a larger selection of apps. This openness allows for greater innovation and a broader range of choices for users, but it also means a greater risk of encountering apps of questionable quality or security. The Play Store’s openness is a double-edged sword: offering unparalleled variety, while simultaneously increasing the potential for encountering less-than-stellar applications.
The result is a vibrant, diverse ecosystem that caters to a wide spectrum of user needs and preferences.
Hardware Compatibility: A Tale of Two Philosophies
The fundamental differences in hardware compatibility between iOS and Android are rooted in their respective business models. iOS, as the operating system for Apple’s devices, is exclusively designed and optimized for a limited range of hardware. Android, on the other hand, is open-source and can be installed on a vast array of devices from numerous manufacturers.Apple’s control over both the software and hardware allows for seamless integration and optimization.
This means that iOS devices often exhibit exceptional performance and efficiency, as the operating system is specifically tailored to the underlying hardware. Apple’s tight control also simplifies the update process, ensuring that all users receive the latest software updates simultaneously. This uniformity is a key strength of the iOS ecosystem.Android’s open nature leads to a fragmented hardware landscape. While this provides users with an enormous range of choices in terms of device features, price points, and designs, it also presents challenges.
Android manufacturers customize the operating system to fit their specific hardware, which can lead to inconsistencies in user experience and slower rollout of software updates. The sheer variety of hardware configurations makes it difficult for Google to optimize Android for every device, potentially resulting in performance variations.
Strengths and Weaknesses: A Comparative Table
The following table provides a concise overview of the strengths and weaknesses of iOS and Android across key areas. This comparison is based on widely recognized industry standards and user experiences.
| Feature | iOS | Android |
|---|---|---|
| User Experience |
|
|
| Customization |
|
|
| Open-Source Nature |
|
|
| App Ecosystem |
|
|
Common Ground
Both iOS and Android, despite their distinct identities, share a fundamental foundation of common features that define the modern smartphone experience. These shared characteristics, continuously refined and adapted over time, have shaped how we interact with our devices, making them indispensable tools for communication, productivity, and entertainment. Understanding these shared elements provides valuable insight into the evolution of mobile operating systems and the ongoing convergence of user expectations.
Multitasking Capabilities
The ability to juggle multiple apps simultaneously is a cornerstone of a productive mobile experience. Both iOS and Android have evolved their multitasking capabilities significantly, allowing users to switch between apps seamlessly, manage background processes, and enhance overall efficiency.
- Early Days: Initially, multitasking on mobile devices was rudimentary. Users often had to close one app completely before opening another. This limited productivity and created a clunky user experience.
- iOS 4 and Android 2.0 (Eclair): These releases marked a significant step forward. iOS 4 introduced true multitasking, allowing apps to run in the background for certain tasks like music playback. Android 2.0 brought similar improvements, enabling background processes and notifications.
- Android 5.0 (Lollipop) and iOS 9: These versions further refined multitasking. Android introduced the Recent Apps view for easier switching, and iOS 9 added the App Switcher with a more visual interface.
- Modern Era: Current versions of both operating systems feature advanced multitasking options, including split-screen views (on larger devices), picture-in-picture mode for video playback, and intelligent app management to optimize performance and battery life. These enhancements facilitate a smoother, more efficient user experience, allowing for simultaneous operation and information access.
Notification Systems
A robust notification system is crucial for keeping users informed and engaged. Both iOS and Android have developed sophisticated notification systems that deliver timely alerts, manage user preferences, and offer interactive functionalities.
- Initial Implementation: Early notification systems were basic, often displaying simple text alerts with limited customization options. They could easily become overwhelming, as users were flooded with notifications that lacked context or relevance.
- Android 4.1 (Jelly Bean) and iOS 5: These updates brought significant improvements. Android introduced expandable notifications with more detailed information and actionable buttons. iOS 5 implemented Notification Center, a central hub for managing and viewing notifications.
- Android 7.0 (Nougat) and iOS 10: Further advancements enhanced the user experience. Android introduced bundled notifications, grouping notifications from the same app together. iOS 10 allowed for rich notifications with images and interactive elements.
- Contemporary Systems: Today’s notification systems are highly customizable, offering granular control over app-specific settings, notification sounds, and visual styles. They utilize intelligent algorithms to prioritize important notifications and minimize distractions. These systems also support rich media, quick replies, and contextual actions, further enhancing user engagement and information management.
Connectivity Options
Seamless connectivity is essential for accessing the internet, communicating with others, and connecting to various devices. Both iOS and Android offer a wide range of connectivity options, constantly evolving to support the latest technologies and user needs.
- Early Connectivity: Initially, mobile devices relied primarily on cellular data and Wi-Fi. Bluetooth connectivity was limited, and other options were rudimentary.
- Introduction of 3G and 4G LTE: The rollout of 3G and then 4G LTE networks dramatically increased data transfer speeds, enabling faster browsing, streaming, and downloads. This led to a significant shift in how users consumed content and interacted with their devices.
- Bluetooth Evolution: Bluetooth evolved from a simple audio connection protocol to support a wider range of devices, including headphones, speakers, and accessories.
- Modern Connectivity: Current devices support the latest Wi-Fi standards (Wi-Fi 6E), 5G cellular networks, and advanced Bluetooth versions. They also feature NFC (Near Field Communication) for mobile payments and device pairing, and other protocols that enable seamless integration with various smart devices and accessories. These enhancements contribute to a more versatile and connected user experience.
Beyond Mobile: Apple Ios And Android Os Are Examples Of

The digital world has expanded far beyond the confines of our pockets, with operating systems powering a vast array of devices. From the familiar desktop computer to the increasingly ubiquitous smart home gadgets, the principles that govern how these devices function remain remarkably consistent, albeit with tailored implementations. This evolution reflects the ever-increasing demand for seamless connectivity and a unified user experience across all digital platforms.
Operating Systems in Diverse Devices
The core concepts of operating systems, like managing hardware resources, providing a user interface, and executing applications, are fundamentally the same regardless of the device type. However, the specific features and functionalities are often adapted to the unique characteristics of each device. Consider the differences in user input methods: a desktop relies heavily on a mouse and keyboard, while a smartwatch prioritizes touch and voice commands.
These adaptations are crucial for ensuring a smooth and intuitive user experience.Here’s a glimpse into the operating systems that orchestrate the performance of various devices:
To showcase the diverse landscape of operating systems, we’ll present a four-column HTML table detailing various devices, their corresponding operating systems, key features, and target users.
| Device Type | Operating System | Key Features | Target Users |
|---|---|---|---|
| Smartwatch | Wear OS (Google) / watchOS (Apple) |
|
|
| Smart TV | Android TV / Tizen (Samsung) / webOS (LG) |
|
|
| Desktop Computer | Windows / macOS / Linux |
|
|
| Tablet | iPadOS (Apple) / Android (Google) |
|
|
| Automotive Infotainment System | Android Automotive / QNX |
|
|
| Smart Home Hub | Custom Linux-based systems / Android Things (Deprecated) |
|
|
Operating System Functions
Operating systems are the unsung heroes of our digital lives, orchestrating the complex dance of hardware and software that allows our devices to function. They’re the maestros, conducting the symphony of processes and resources, ensuring everything runs smoothly, from the simplest tap on a screen to the most demanding applications. This section delves into the critical functions that make this possible, specifically focusing on memory management and process management.
Memory Allocation and Deallocation
Memory management is the art of juggling the limited space available in a computer’s RAM. Think of RAM as the workspace for a computer; it’s where the operating system and running programs store the data they need to work with. The OS meticulously allocates and deallocates this space, ensuring that each program has what it needs and that no program hogs all the resources.Here’s how it works, broken down into key aspects:* Allocation: When a program needs memory, it requests it from the OS.
The OS then finds a suitable block of free memory and assigns it to the program. The OS keeps track of which memory blocks are in use and which are available.
Deallocation
When a program is finished with a block of memory, it releases it back to the OS. The OS marks the memory as free, making it available for other programs to use. This is crucial to prevent memory leaks, where programs hold onto memory they no longer need, eventually causing the system to slow down or crash.
Virtual Memory
In cases where the RAM isn’t sufficient for all running programs, the OS uses a technique called virtual memory. This involves using the hard drive as an extension of RAM. When RAM is full, the OS moves less-used data from RAM to the hard drive (swapping it out) and brings data from the hard drive back into RAM when needed (swapping it in).
This allows the system to run programs that require more memory than is physically available, although it can slow down the system due to the slower speed of hard drive access.
Memory Protection
The OS also implements memory protection mechanisms. These prevent one program from accidentally (or maliciously) accessing the memory of another program, ensuring the stability and security of the system. This is achieved by assigning each program a specific memory space and preventing access outside of that space.
Process Management
Process management is the OS’s way of keeping track of all the running programs and coordinating their activities. It’s about ensuring that each program gets its fair share of resources, like CPU time, memory, and access to devices.Here’s how the OS orchestrates the process management:* Process Scheduling: The OS uses a scheduler to decide which process gets to use the CPU at any given time.
The scheduler uses various algorithms (like Round Robin, Priority Scheduling, or Shortest Job First) to determine the order in which processes are executed. This is done to maximize CPU utilization and provide a responsive user experience.
Resource Allocation
The OS allocates resources (like memory, files, and I/O devices) to processes. It ensures that each process has the resources it needs to run, and it prevents one process from monopolizing all the resources.
Process States
Processes can be in different states, such as:
Running
The process is currently using the CPU.
Ready
The process is waiting to use the CPU.
Blocked/Waiting
The process is waiting for an event (like I/O completion) before it can continue.
Inter-Process Communication (IPC)
The OS provides mechanisms for processes to communicate with each other. This is essential for coordinating the activities of multiple processes. Examples include:
Pipes
Allow unidirectional communication between processes.
Message Queues
Allow processes to send and receive messages.
Shared Memory
Allows processes to share a region of memory for direct communication.
In essence, a typical operating system’s critical components and responsibilities include: managing the hardware resources, allocating memory and CPU time, handling input and output operations, providing a user interface, and ensuring system security and stability.
Future Trends in Operating Systems
The evolution of operating systems is a fascinating journey, constantly shaped by technological advancements and the ever-changing needs of users. From the early days of command-line interfaces to the sleek, intuitive designs we see today, the drive for innovation has never ceased. Now, we stand at the cusp of another transformative era, where emerging trends promise to redefine how we interact with our devices and the digital world around us.
These trends aren’t just incremental improvements; they represent fundamental shifts in how operating systems function, adapt, and integrate with our lives.
Emerging Trends in Mobile Operating Systems, Apple ios and android os are examples of
Mobile operating systems are at the forefront of this evolution, experiencing rapid changes driven by hardware innovation and user demand. Two key areas are driving this transformation: support for foldable devices and the integration of artificial intelligence (AI).Foldable devices, with their unique form factors, present both exciting opportunities and significant challenges for operating system developers. Imagine a smartphone that unfolds into a tablet or a device that can be used in various modes, from fully open to partially folded.
The operating system must seamlessly adapt to these changing screen sizes and orientations. This involves:* Optimizing the user interface for different form factors. This means ensuring that apps and the operating system itself can dynamically adjust their layout and content to fit the available screen space. Think of apps that automatically resize their windows when the device is folded or unfolded, or a keyboard that appears in different positions depending on how the device is held.
- Enabling seamless app continuity. Imagine starting a video call on your phone and then effortlessly transitioning it to the larger display when you unfold the device. This requires the operating system to manage the transfer of active tasks and data between the different display states.
- Supporting multi-tasking and enhanced productivity. Foldable devices open up new possibilities for multi-tasking. Users could, for example, have multiple apps open side-by-side or use a larger display to view more information at once. The operating system needs to provide tools and features that make this multi-tasking efficient and user-friendly.
AI integration is another crucial trend, promising to personalize user experiences and make devices smarter. This includes:* Predictive capabilities. Operating systems are increasingly using AI to predict user needs and proactively offer relevant information or actions. For instance, your phone might suggest a route to your next meeting based on your calendar and current traffic conditions.
- Enhanced voice assistants. AI-powered voice assistants are becoming more sophisticated, capable of understanding natural language, answering complex questions, and performing a wider range of tasks. This trend is evident in assistants like Siri, Google Assistant, and Bixby.
- Personalized recommendations. AI is used to personalize app recommendations, news feeds, and other content based on user preferences and behavior. This leads to a more tailored and engaging user experience.
Adapting to the Internet of Things (IoT)
The Internet of Things (IoT) is rapidly expanding, connecting billions of devices to the internet. Operating systems are crucial for managing this vast network, requiring adaptations to handle the unique characteristics of IoT devices.The operating systems need to be lightweight, secure, and efficient. Many IoT devices have limited resources, such as processing power, memory, and battery life. This means that the operating systems must be designed to be as small and efficient as possible.
The OS needs to manage the security risks associated with interconnected devices.The operating system must provide a standardized way for devices to communicate and exchange data. This is often achieved through protocols like MQTT and CoAP.IoT devices generate a massive amount of data. The operating system needs to provide tools and frameworks for collecting, processing, and analyzing this data.The following bullet points highlight the challenges and opportunities for future operating systems:* Security: As devices become more connected, security threats will continue to evolve.
Future operating systems must prioritize robust security measures, including advanced encryption, threat detection, and regular security updates, to protect user data and prevent cyberattacks.* Privacy: Protecting user privacy is paramount. Operating systems will need to provide users with greater control over their data, offering granular privacy settings and transparency about how data is collected and used.* Cross-Platform Compatibility: Users expect a seamless experience across all their devices, from smartphones and tablets to computers and smart home appliances.
Future operating systems will need to improve cross-platform compatibility, enabling apps and data to easily sync and function on different devices.* Sustainability: With growing environmental concerns, operating systems will play a role in promoting sustainability. This includes optimizing power consumption to extend battery life and reducing the environmental impact of device manufacturing and disposal.* Accessibility: Ensuring that operating systems are accessible to everyone, including individuals with disabilities, is essential.
Future operating systems should incorporate features like advanced voice control, customizable interfaces, and assistive technologies to create a more inclusive user experience.* Quantum Computing: The emergence of quantum computing poses both challenges and opportunities. Operating systems will need to adapt to the power of quantum computers, potentially leveraging quantum algorithms for tasks like data encryption and optimization.* Human-Computer Interaction: The way we interact with technology is constantly evolving.
Future operating systems may incorporate new interaction methods, such as brain-computer interfaces or augmented reality, to provide more intuitive and immersive user experiences.* Edge Computing: With the rise of edge computing, where data processing is performed closer to the source, operating systems will need to manage distributed computing resources efficiently, optimizing performance and reducing latency.* Open Source and Collaboration: Open-source operating systems and collaborative development models will likely become even more prevalent, fostering innovation and allowing for rapid adaptation to changing technological landscapes.