Android Framework

Total Page:16

File Type:pdf, Size:1020Kb

Android Framework International Journal For Technological Research In Engineering Volume 3, Issue 3, November-2015 ISSN (Online): 2347 - 4718 ANDROID FRAMEWORK Saksham Wason Dronacharya College of Engineering, Gurgaon, India Abstract: Abstract Android is a mobile operating directories for easy navigation and usage. These directories system (OS) currently developed by Google, based on may contain files and other directions. OS Keeps track of the Linux kernel and designed primarily for touch information, location, uses, status etc. The collective screen mobile devices such as smart phones and tablets. facilities are often known as file system. It Decides who gets Android's user interface is based on direct manipulation, the resources and also allocates and de-allocates the using touch gestures that loosely correspond to real-world resources. actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual II. INTRODUCTION TO VIRTUAL OPERATING keyboard for text input. In addition to touchscreen devices, SYSTEM Google has further developed Android TV for The idea of a virtual operating system is to provide standard televisions, Android Auto for cars, and Android Wear for versions of the following- wrist watches, each with a specialized user interface. 1.Operating system primitives accessible through Variants of Android are also used on notebooks, game programming languages consoles, digital cameras, and other electronics. As of 2015, 2. The utility programs such as compilers, linkers and editors Android has the largest installed base of all operating 3. The command language or means by which users access systems. system resources from a terminal based on organizational requirements. I. INTRODUCTION OF OPERATING SYSTEM (OS) An operating system is a software program that enables the VM (operating system) computer hardware to communicate and operate with the Introduction: computer software. Without a computer operating system, a VM (often: VM/CMS) is a family of computer and software programs would be useless. IBM virtual machine operating systems used on IBM Application programs usually require an operating system to mainframes System/370, System/390, zSeries, System z and function. The operating system provides two main functions. compatible systems, including the Hercules emulator for The first function is managing the basic hardware operations. personal computers. The first version, released in 1972, was The control of input and output, storage space, detecting VM/370, or officially Virtual Machine Facility/370. This equipment failure, and management of storage are just some was a System/370 reimplementation of earlier CP/CMS of the responsibilities of the Operating System. The second operating system. Milestone versions included VM/SP.The function is managing and interacting with the applications current version, z/VM, is still widely used as one of the main software. It takes over the tasks of printing and saving data. full virtualization solutions mainframe market. To provide an environment for a computer user to execute Overview: programs. The heart of the VM architecture is a control program or Basic Function of OS: hypervisor called VM-CP (usually: CP; sometimes, Process Management: The Operating System also Treats ambiguously: VM). It runs on the physical hardware, and the Process Management means all the Processes those are creates the virtual machine environment. VM-CP provides given by the user or the Process those are System's own full virtualization of the physical machine – including I/O Process are Handled by the Operating System. The Operating and other privileged operations. It performs system's System will Create the Priorities for the user and also Start or resource-sharing, including device management, dispatching, Stops the Execution of the Process and Also Makes the Child virtual storage management, and other traditional operating Process after dividing the Large Processes into the Small system tasks. Each VM user is provided with a separate Processes. virtual machine having its own address space, virtual Memory Management: Operating System also manages the devices, etc., and which is capable of running any software Memory of the Computer System means provide the Memory that could be run on a stand- alone machine. A given VM to the Process and Also deallocate the Memory from the mainframe typically runs hundreds or thousands of virtual Process. And also defines that if a Process gets completed machine instances. VM-CP began life as CP-370, a then this will deallocate the Memory from the Processes. reimplementation of CP-67, itself a reimplementation of CP- Device Management: OS manages device communication via 40. their respective drivers. It Allocates and De-allocates the Running within each virtual machine is another, "guest" device in the efficient way. It also decides which process gets operating system. This might be: the device when and for how much time. CMS ("Conversational Monitor System", renamed from the File Management: A file system is normally organized into "Cambridge Monitor System" of CP/CMS). Its official name www.ijtre.com Copyright 2015.All rights reserved. 443 International Journal For Technological Research In Engineering Volume 3, Issue 3, November-2015 ISSN (Online): 2347 - 4718 is VM- CMS (confusing, since VM is commonly called VM remained an important platform within IBM, used for VM/CMS). Most virtual machines run CMS, a lightweight, operating system development and time- sharing use; but for single-user operating system. Its interactive environment is customers it remained IBM's "other operating system". The comparable to that of a single-user PC, including a file OS and DOS families remained IBM's strategic products, system, programming services, device access, and command- and customers were not encouraged to run VM. Those a that line processing. did formed close working relationships, continuing the A mainstream operating system. IBM's mainstream operating community-support model of early CP/CMS users. In the systems (i.e. the MVS or DOS/VSE families) can be loaded meantime, the system struggled with political infighting and run without modification. The VM hypervisor treats within IBM over what resources should be available to the guest operating systems as application programs with project, as compared with other IBM efforts. A basic has exceptional privileges – it prevents them from using "problem" with the system was seen at IBM's field sales privileged instructions but simulates privileged instructions level: VM/CMS demonstrably reduced the amount of on their behalf. Most mainframe operating systems terminate hardware needed to support a given a normal application which tries to usurp the operating system's privileges. Virtual Memory: A Virtual Memory has the advantage of Another copy of VM. A "second level" instance of VM can allowing more processes to run than the allowed memory be fully virtualized inside virtual machine. This is how VM size. This is achieved by only including parts of processes development and testing is done. (A "second- level" VM can that are necessary to run in memory and the rest on disk. The potentially implement a different virtualization of the absolute minimum part of a process that must always be in hardware. This technique was used to develop S/370 software memory is called its working set. Usually, a program doesn't before S/370 hardware was available, and it continued to play need to have its entire binary file in memory to run when it is a role in new hardware development at IBM. The literature performing a task that only uses part of its file. What this cites practical examples of virtualization five levels deep. means is that, say, a 16MB program could happily run on a Levels of VM below the top are also for the treated as machine with only 4MB of memory. applications but with exceptional privileges. A copy of the mainframe version of AIX or Linux. In the Virtual Machine: A virtual machine (VM) is a software mainframe environment, these operating systems often run implementation of a machine (for example, a computer) that under VM, and are handled like other guest operating executes programs like a physical machine. A virtual systems. A specialized VM subsystem. Several non- CMS machine is a completely isolated guest operating system systems run within VM-CP virtual machines, providing installation within a normal host operating system. Virtual services to CMS users all such as spooling, intercrosses Machine Operating System creates illusion of multiple communications, the and specialized device support. They processors each capable of executing independently. Virtual operate "behind the scenes", extending the services available machines are separated into two major categories, based on to CMS without adding to the VM- CP control program. By their use and degree of correspondence to any real machine:- running in separate virtual machines, they receive the same security and reliability protections as other VM users. System Virtual Machines: A system virtual machine provides a complete system platform which supports the Examples include: execution of a complete operating system. These usually RSCS ("Remote Spooling and Communication emulate an existing architecture, and are built with the Subsystem", aka VNET) - communication and information purpose of either providing a platform to run programs transfer facilities between virtual machines where the real hardware is not available for use or of having RACF ("Resource
Recommended publications
  • Effective Virtual CPU Configuration with QEMU and Libvirt
    Effective Virtual CPU Configuration with QEMU and libvirt Kashyap Chamarthy <[email protected]> Open Source Summit Edinburgh, 2018 1 / 38 Timeline of recent CPU flaws, 2018 (a) Jan 03 • Spectre v1: Bounds Check Bypass Jan 03 • Spectre v2: Branch Target Injection Jan 03 • Meltdown: Rogue Data Cache Load May 21 • Spectre-NG: Speculative Store Bypass Jun 21 • TLBleed: Side-channel attack over shared TLBs 2 / 38 Timeline of recent CPU flaws, 2018 (b) Jun 29 • NetSpectre: Side-channel attack over local network Jul 10 • Spectre-NG: Bounds Check Bypass Store Aug 14 • L1TF: "L1 Terminal Fault" ... • ? 3 / 38 Related talks in the ‘References’ section Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications What this talk is not about 4 / 38 Related talks in the ‘References’ section What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications 4 / 38 What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications Related talks in the ‘References’ section 4 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP QEMU QEMU VM1 VM2 Custom Disk1 Disk2 Appliance ioctl() KVM-based virtualization components Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP Custom Appliance KVM-based virtualization components QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) Custom Appliance KVM-based virtualization components libvirtd QMP QMP QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 libguestfs (guestfish) Custom Appliance KVM-based virtualization components OpenStack, et al.
    [Show full text]
  • Understanding Full Virtualization, Paravirtualization, and Hardware Assist
    VMware Understanding Full Virtualization, Paravirtualization, and Hardware Assist Contents Introduction .................................................................................................................1 Overview of x86 Virtualization..................................................................................2 CPU Virtualization .......................................................................................................3 The Challenges of x86 Hardware Virtualization ...........................................................................................................3 Technique 1 - Full Virtualization using Binary Translation......................................................................................4 Technique 2 - OS Assisted Virtualization or Paravirtualization.............................................................................5 Technique 3 - Hardware Assisted Virtualization ..........................................................................................................6 Memory Virtualization................................................................................................6 Device and I/O Virtualization.....................................................................................7 Summarizing the Current State of x86 Virtualization Techniques......................8 Full Virtualization with Binary Translation is the Most Established Technology Today..........................8 Hardware Assist is the Future of Virtualization, but the Real Gains Have
    [Show full text]
  • Using EMC VNX Storage with Vmware Vsphere Techbook CONTENTS
    Using EMC® VNX® Storage with VMware vSphere Version 4.0 TechBook P/N H8229 REV 05 Copyright © 2015 EMC Corporation. All rights reserved. Published in the USA. Published January 2015 EMC believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. The information in this publication is provided as is. EMC Corporation makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any EMC software described in this publication requires an applicable software license. EMC2, EMC, and the EMC logo are registered trademarks or trademarks of EMC Corporation in the United States and other countries. All other trademarks used herein are the property of their respective owners. For the most up-to-date regulatory document for your product line, go to EMC Online Support (https://support.emc.com). 2 Using EMC VNX Storage with VMware vSphere TechBook CONTENTS Preface Chapter 1 Configuring VMware vSphere on VNX Storage Technology overview................................................................................... 18 EMC VNX family..................................................................................... 18 FLASH 1st.............................................................................................. 18 MCx multicore optimization..................................................................
    [Show full text]
  • 5 Ways Vmware Vsphere Improves Backup and Recovery
    5 Ways VMware vSphereChapter1. Improves An Introduction Backup and to VMware Recovery Virtualization CONTENTS CONTENTS..............................................................................................................2 INTRODUCTION......................................................................................................2 A BRIEF HISTORY OF VMWARE ..............................................................................3 VIRTUALIZATION ARCHITECTURE...........................................................................4 THE HYPERVISOR............................................................................................................................4 RINGS IN VIRTUALIZATION..............................................................................................................7 CPU SCHEDULER............................................................................................................................9 DIFFERENCES BETWEEN ESX & ESXI.............................................................................................9 WHAT IS A VIRTUAL MACHINE?...........................................................................12 ENCAPSULATION.......................................................................................................................... 12 VIRTUAL MACHINE HARDWARE ................................................................................................. 13 VIRTUAL MACHINE FILES ...........................................................................................................
    [Show full text]
  • Introduction to Virtualization
    z Systems Introduction to Virtualization SHARE Orlando Linux and VM Program Romney White, IBM [email protected] z Systems Architecture and Technology © 2015 IBM Corporation Agenda ° Introduction to Virtualization – Concept – Server Virtualization Approaches – Hypervisor Implementation Methods – Why Virtualization Matters ° Virtualization on z Systems – Logical Partitions – Virtual Machines 2 z Systems Virtualization Technology © 2015 IBM Corporation Virtualization Concept Virtual Resources Proxies for real resources: same interfaces/functions, different attributes May be part of a physical resource or multiple physical resources Virtualization Creates virtual resources and "maps" them to real resources Primarily accomplished with software or firmware Resources Components with architecturally-defined interfaces/functions May be centralized or distributed - usually physical Examples: memory, disk drives, networks, servers Separates presentation of resources to users from actual resources Aggregates pools of resources for allocation to users as virtual resources 3 z Systems Virtualization Technology © 2015 IBM Corporation Server Virtualization Approaches Hardware Partitioning Bare-metal Hypervisor Hosted Hypervisor Apps ... Apps Apps ... Apps Apps ... Apps OS OS OS OS OS OS Adjustable partitions Hypervisor Hypervisor Partition Controller Host OS SMP Server SMP Server SMP Server Server is subdivided into fractions Hypervisor provides fine-grained Hypervisor uses OS services to each of which can run an OS timesharing of all resources
    [Show full text]
  • KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Information Assurance Department of Information Systems 5-2018 KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St. Cloud State University, [email protected] Follow this and additional works at: https://repository.stcloudstate.edu/msia_etds Recommended Citation Pasunuru, Srinath Reddy, "KVM Based Virtualization and Remote Management" (2018). Culminating Projects in Information Assurance. 53. https://repository.stcloudstate.edu/msia_etds/53 This Starred Paper is brought to you for free and open access by the Department of Information Systems at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Information Assurance by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. 1 KVM Based Virtualization and Remote Management by Srinath Reddy Pasunuru A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in Partial Fulfillment of the Requirements for the Degree Master of Science in Information Assurance May, 2018 Starred Paper Committee Susantha Herath, Chairperson Ezzat Kirmani Sneh Kalia 2 Abstract In the recent past, cloud computing is the most significant shifts and Kernel Virtual Machine (KVM) is the most commonly deployed hypervisor which are used in the IaaS layer of the cloud computing systems. The Hypervisor is the one which provides the complete virtualization environment which will intend to virtualize as much as hardware and systems which will include the CPUs, Memory, network interfaces and so on. Because of the virtualization technologies such as the KVM and others such as ESXi, there has been a significant decrease in the usage if the resources and decrease in the costs involved.
    [Show full text]
  • VALIDATED PRODUCTS LIST 1992 No.2
    NISTIR 4820 (Supersedes NISTIR 4739) VALIDATED PRODUCTS LIST 1992 No. 2 Programming Languages Database Language SQL Graphics GOSIP POSIX Security Judy B. Kailey U.S. DEPARTMENT OF COMMERCE Technology Administration National Institute of Standards and Technoiogy Computer Systems Laboratory Software Standards Validation Group Gaithersburg, MD 20899 “QC — TOO .U56 4820 NIST 1992 N I STIR 482 (Supersedes NISTIR 4739) ' O VALIDATED PRODUCTS LIST 1992 No.2 Programming Languages Database Language SQL Graphics GOSIP POSiX Security Judy B. Kailey U.S. DEPARTMENT OF COMMERCE Technology Administration National Institute of Standards and Technology Computer Systems Laboratory Software Standards Validation Group Gaithersburg, MD 20899 April 1992 (Supersedes January 1992 Issue) U.S. DEPARTMENT OF COMMERCE Barbara Hackman Franklin, Secretary TECHNOLOGY ADMINISTRATION Robert M. White, Linder Secretary for Technology NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY John W. Lyons, Director FOREWORD The Validated Products List (formerly called the Validated Processor List) is a collection of registers describing implementations of Federal Information Processing Standards (FTPS) that have been validated for conformance to FTPS. The Validated Products List also contains information about the organizations, test methods and procedures that support the validation programs for the FTPS identified in this document. The Validated Products List is updated quarterly. lii ' " M'- v^,.^.:v;/i'fr•i•:‘fey^^?4 .•:, .V.' ini‘,r^f' isfc'^feV VihV'’, !iV.V I t: 4 #> vm- 'at' Mil! .M'? Of'S8r'»'' SIVS 'V-tv. ','V ..(Vi feiii yA ' r' ' '4: ,. = r,: 0 r^'-' ".V.^l , ;‘ • » JjTT ;»»!£ ... •':«5(4i ' |i“' T" •.(''’'ia\.':l'"' f*l, r-’i"' i'-" '.:"::'.".vi ';... '('?. .;r'H vl. '' ' " .. i.” -' f-j'" , '' '(^ • '.v;.» .
    [Show full text]
  • Introduction to Virtualization Virtualization
    Introduction to Virtualization Prashant Shenoy Computer Science CS691D: Hot-OS Lecture 2, page 1 Virtualization • Virtualization: extend or replace an existing interface to mimic the behavior of another system. – Introduced in 1970s: run legacy software on newer mainframe hardware • Handle platform diversity by running apps in VMs – Portability and flexibility Computer Science CS691D: Hot-OS Lecture 2, page 2 Types of Interfaces • Different types of interfaces – Assembly instructions – System calls – APIs • Depending on what is replaced /mimiced, we obtain different forms of virtualization Computer Science CS691D: Hot-OS Lecture 2, page 3 Types of Virtualization • Emulation – VM emulates/simulates complete hardware – Unmodified guest OS for a different PC can be run • Bochs, VirtualPC for Mac, QEMU • Full/native Virtualization – VM simulates “enough” hardware to allow an unmodified guest OS to be run in isolation • Same hardware CPU – IBM VM family, VMWare Workstation, Parallels,… Computer Science CS691D: Hot-OS Lecture 2, page 4 Types of virtualization • Para-virtualization – VM does not simulate hardware – Use special API that a modified guest OS must use – Hypercalls trapped by the Hypervisor and serviced – Xen, VMWare ESX Server • OS-level virtualization – OS allows multiple secure virtual servers to be run – Guest OS is the same as the host OS, but appears isolated • apps see an isolated OS – Solaris Containers, BSD Jails, Linux Vserver • Application level virtualization – Application is gives its own copy of components that are not shared • (E.g., own registry files, global objects) - VE prevents conflicts – JVM Computer Science CS691D: Hot-OS Lecture 2, page 5 Examples • Application-level virtualization: “process virtual machine” • VMM /hypervisor Computer Science CS691D: Hot-OS Lecture 2, page 6 The Architecture of Virtual Machines J Smith and R.
    [Show full text]
  • Rocket Model 204 System Manager's Guide
    Rocket Model 204 System Manager’s Guide Version 7 Release 4.0 May 2012 204-0704-SM-01 Notices Edition Publication date: May 2012 Book number: 204-0704-SM-01 Product version: Rocket Model 204 System Manager’s Guide Version 7 Release 4.0 Copyright © Computer Corporation of America 1989-2012. All Rights Reserved. Computer Corporation of America is a wholly-owned subsidiary of Rocket Software, Inc. Trademarks Rocket is a registered trademark of Rocket Software, Inc. For a list of Rocket registered trademarks go to: www.rocketsoftware.com/about/legal. All other products or services mentioned in this document may be covered by the trademarks, service marks, or product names of their respective owners. License agreement This software and the associated documentation are proprietary and confidential to Rocket Software, Inc., are furnished under license, and may be used and copied only in accordance with the terms of such license. Note This product may contain encryption technology. Many countries prohibit or restrict the use, import, or export of encryption technologies, and current use, import, and export regulation should be followed when exporting this product. Contact information Web Site: www.rocketsoftware.com Rocket Software, Inc. Headquarters 77 4th Avenue, Suite 100 Waltham, MA 02451–1468 USA Tel: +1.617.614.4321 Fax: +1.617.630.7100 ii Contacting Technical Support If you have current support and maintenance agreements with Rocket Software and CCA, contact Rocket Software Technical support by email or by telephone: Email: [email protected] Telephone : North America +1.800.755.4222 United Kingdom/Europe +44 (0) 20 8867 6153 Alternatively, you can access the Rocket Customer Portal and report a problem, download an update, or read answers to FAQs.
    [Show full text]
  • VM for MVS Systems Programmers Part 2 Martha Mcconaghy, Marist College Mark Post, EDS Monday, August 14, 2006 Session 9128 Follow up Presentations
    VM For MVS Systems Programmers Part 2 Martha McConaghy, Marist College Mark Post, EDS Monday, August 14, 2006 Session 9128 Follow Up Presentations • Other presentations this week which cover related subjects in more detail: • 9107 – 9109 Introduction to VM Hands-on Lab Tue 8am-noon • 9125 Virtual Networking with z/VM Guest LANS and Virtual Switch Tue 8am • 9115 VM Performance Introduction Tue 1:20pm • 9119 z/VM Installation - What are you afraid of? Tue 3pm • 9117 Introduction to VMSES/E for z/VM Wed 9:30am • 9118 Maintaining z/VM with VMSES/E lab Wed 11am • 9133 Configuring, Customizing and Modifying your VM System without an IPL Wed 3pm • 9123 TRACK for z/VM – What’s Happening in your Virtual Machine Thur 9:30am • 9116 z/VM Simplified Network Configuration Thur 3pm • 9136 Automated Linux Guest Monitoring on z/VM using PROP 35 Agenda • Part 1: • Introduction to and comparison of basic concepts • What is a hypervisor and what about all the “virtual” stuff? • Caring for a VM system (maintenance, system datasets, etc.) • System configuration concepts • Part 2: • Applications and guests • CMS vs. TSO • File Editors • Misc good stuff We will answer questions as time allows….. 36 Application Support • CP level of z/VM cannot execute applications. It’s only job is to emulate hardware and manage resources. • Does not provide file editing or writing capabilities. It can read CMS files for use with system configuration. • Cannot compile, assemble or execute programs. • CMS started out as an operating system during the early days of mainframes. • Became popular as a “guest” on CP to provide user/application functions.
    [Show full text]
  • Hercules General Information
    Hercules System/370, ESA/390, z/Architecture Emulator Hercules – General Information Version 3 Release 06 Contents Contents ........................................................................................................................................................2 Figures...........................................................................................................................................................7 Tables............................................................................................................................................................9 1. Preface .............................................................................................................................................10 1.1 Edition information ........................................................................................................................10 1.2 What this book is about.................................................................................................................10 1.3 Who should read this book ...........................................................................................................10 1.4 What you need to know to understand this book..........................................................................10 1.5 How to use this book.....................................................................................................................10 1.6 Revision Notice .............................................................................................................................10
    [Show full text]
  • Paravirtualization (PV)
    Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels of privilege known as Ring 0, 1, 2 and 3 to operating systems and applications to manage access to the computer hardware. While user level applications typically run in Ring 3, the operating system needs to have direct access to the memory and hardware and must execute its privileged instructions in Ring 0. x86 privilege level architecture without virtualization Technique 1: Full Virtualization using Binary Translation This approach relies on binary translation to trap (into the VMM) and to virtualize certain sensitive and non-virtualizable instructions with new sequences of instructions that have the intended effect on the virtual hardware. Meanwhile, user level code is directly executed on the processor for high performance virtualization. Binary translation approach to x86 virtualization Full Virtualization using Binary Translation This combination of binary translation and direct execution provides Full Virtualization as the guest OS is completely decoupled from the underlying hardware by the virtualization layer. The guest OS is not aware it is being virtualized and requires no modification. The hypervisor translates all operating system instructions at run-time on the fly and caches the results for future use, while user level instructions run unmodified at native speed. VMware’s virtualization products such as VMWare ESXi and Microsoft Virtual Server are examples of full virtualization. Full Virtualization using Binary Translation The performance of full virtualization may not be ideal because it involves binary translation at run-time which is time consuming and can incur a large performance overhead.
    [Show full text]