Chrome Os

Topics: Operating system, Google, Google Chrome OS Pages: 6 (1316 words) Published: June 24, 2013
[Target & Application]{

The Chrome OS is designed to work with only specific hardware produced by Google such as Chromebook. It is created for user who spend most of the time on the Web. Hence, only a browser, a media player and a file manager are pre-installed together with the Chrome OS.

}

[Scheduling]{

Chrome Operating System runs the Linux 3.4.6 kernel which utilizes the Completely Fair Scheduler. This is to ensure fairness by allowing processes an equal share of the CPU. To do this, the scheduler keeps track of the amount of time each process has had with the CPU using a virtual runtime. The Completely Fair Scheduler also allows group scheduling. Group scheduling ensures that in situations where tasks spawn other tasks, each single task is ensured their own virtual runtime rather than treating tasks uniformly.

}

[Kernel Structure]{

Chrome OS is designed based on the Monolithic kernel. However, no related information can be found. From the analysis of kernel structure, the authors think that the Monolithic kernel is adopted because Chrome OS is a simple OS that provides only limited services. Hence, the code is small and easier to maintain. In this case, it is worth to use Monolithic kernel for the faster performance.

The Chrome OS uses the Linux Kernel. Historically they stayed on a 2.6.32 Ubuntu-based for the first several releases, but have since then moved on to track the upstream mainline kernel constantly, applying the changes for the features and stability they need on top of it.

}

[Memory Management]{

==================================================================================================
++Address space++

When a Native Client module is loaded into a browser tab it will run in a separate process, distinct from the render process for the tab itself. Chrome creates a fixed-size address space for the new process; 1 GB of memory for an ARM or x86-32 target architecture and 4 GB for an x86-64 target. This space contains the usual segments for data, text, stack, heap, and mmap. The address space is private for that single instance of the module and it is not shared with instances of the same or any other Native Client module. There is no Native Client API to examine the state of an instance's address space.

++Memory allocation++

Memory management library calls handle fine-grained requests by divvying up the available memory in the address space, removing and returning bytes in the free pool. When the pool is exhausted the allocator asks for more memory from the service runtime. When this happens Native Client will call for a gross allocation rounded up to a multiple of 64K bytes, regardless of the actual size of the original request.

Pointers in Native Client code (e.g., sizeof(void*)) are always 4 bytes, in order to support portability.

++Memory management++

The Native Client SDK toolchain offers two C libraries for building a Native Client module: newlib and glibc. By default, each of these libraries uses a different version of the dlmalloc allocator and they will behave differently for different kinds of usage patterns. It is difficult to predict whether choosing one library or the other will significantly affect an application's performance with respect to memory management. The choice of allocators will probably not be a determining factor for most developers when selecting which toolchain to use. However, in some cases developers with deep knowledge of these libraries may have a good reason to choose one over the other. You know who you are.

Do not use sbrk to manipulate the heap space. The allocators use sbrk and your effort could interfere and corrupt the state of the heap.

++Memory access validation++

There is no runtime memory access validation in Native Client, but the sandbox service runtime will trap illegal instructions. Access errors can cause hardware exceptions, for example invalid memory accesses into...
Continue Reading

Please join StudyMode to read the full document

You May Also Find These Documents Helpful

  • Google Chrome Os Essay
  • Google Chrome Os Essay
  • Essay about Chrome OS
  • Google Chrome OS Essay
  • Google Chrome Essay
  • Google Chrome Essay
  • Mac Os vs Windows Essay
  • Google Chrome Features Essay

Become a StudyMode Member

Sign Up - It's Free