How Chrome OS turned from a failed experiment into a Windows competitor

It was clear almost after the birth of JavaScript that desktop applications, and the desktop itself, would sooner or later move to the web, so the appearance of Chrome OS is largely predictable. And that it was Google that released the cloud OS is also absolutely natural. But let's try to move away from the endless debate about the future of the desktop, fueled by the conservative part of the IT community, and look at Chrome OS from the point of view of technical implementation.

Road to the clouds

Google announced Chrome OS in the summer of 2009 and already in November demonstrated it to the public and made the source code publicly available under the name Chromium OS. At that time, the operating system was quite simple and consisted of a full-screen Chrome browser running on top of a heavily stripped-down Ubuntu distribution. It implemented all the same mechanisms for isolating browser tabs and plugins, the same multi-process model of browser operation, but overall the operating system was no different.

Over the next five years, Google continuously, but without particularly advertising its work, developed Chrome OS. Along the way, it released so-called Chromebooks and Chromeboxes, which became popular among Unixoids who demolished Chrome OS immediately after purchase. Gradually, Gooogle abandoned Ubuntu in favor of Gentoo (apparently, in order to be able to build packages without dependencies that were “useless” for it and the bonuses of the Hardened version of the distribution) and replaced the single-window mode with the standard multi-window mode for desktops with a standard taskbar at the bottom. Google deliberately abandoned it in the first versions of Chrome OS, since the OS was aimed at netbooks with their small screens, but, apparently, users did not appreciate it.

There are also offline web applications (also available in regular Chrome) and, finally, support for a number of Android applications. The latter event became quite expected after the leadership of the development of both operating systems passed into the hands of Sundar Pichai, who has always been responsible for the development of Chrome, Chrome OS and Google web applications.

Chrome OS develops along with the browser itself, so their versions are the same. At the time of writing, it was version 41, but unlike the browser, Chrome OS does not have ready-made builds for installation except for officially supported Chromebooks and Chromeboxes. However, it is quite possible to find unofficial assemblies based on Chromium OS sources on the Internet. For example, you can always download daily builds for x86, x64 and ARM. It is enough to write one of them onto a flash drive and boot from it. However, you need to be prepared that not all components of the machine will start (in my case, the touchpad fell off). In addition, Chromium OS does not support Flash, DRM and Netflix, but it does have access to the console with root rights.

Basic Concepts

The key idea behind Chrome OS is that it is essentially a thin client OS, where everything except the GUI and browser is online. In fact, without an Internet connection and a Google account, the operating system will not even let the user inside (at least for the first time). Google offers to save files to its Google Drive (the company gives 100 GB to buyers of Chromebooks), settings, extensions and installed applications are synchronized in the standard way for the Chrome browser. For printing, it is suggested to use Google Cloud Print.

In Russian realities, this approach gives nothing and creates a lot of difficulties, and in the rest of the world too. But Chrome OS is Google's foundation for the future, and this operating model has allowed programmers to implement a number of interesting architectural solutions and security approaches. Which is what we'll talk about in the rest of the article.

It all starts with the BIOS

Although Chromium OS can run on computers with a standard BIOS, Chromebooks are based on CoreBoot. And this is not just one of their technical features, but a deliberate optimization. CoreBoot is a completely 32-bit "BIOS" without the ballast of a lot of hardware initialization code that is useless these days. Coupled with Google optimizations, it is able to perform a cold start from pressing the power button to booting the kernel in literally a split second.

Next, CoreBoot finds the GPT boot partition and loads into memory a binary containing the u-boot bootloader (usually used in embedded electronics) and the Linux kernel, after which it gives control to u-boot, and the boot procedure, almost standard for Linux distributions, begins, including Mount the root partition yourself, launch the daemons, the graphics system and, finally, the interface.

The interesting thing about this whole procedure is that the boot loader with the kernel and the root file system have “backups” in separate partitions, and this feature is used to update the OS and rollback in case of failure. During an automatic update, Chrome OS does not touch the current installation at all, but instead writes the new version of the OS to the same “backup partitions” that become “current” after a reboot. If there is a failure when loading a new version of the OS, the reverse will occur and the user will be able to gain access to a known working system (the system itself is able to understand that it has loaded successfully and set the appropriate flag on the current GPT partitions).

Moreover, at each stage of control transfer from one component to another (for example, from CoreBoot to u-boot), the digital signature is verified (in the case of a root file system, block-by-block verification of checksums on the fly), if this does not match, the system will also roll back to the previous version . This works because partitions with the current version of the system are mounted read-only and the user cannot even accidentally change them.

INFO

The Chromebook's EEPROM contains not only two copies of firmware (one of which is a backup), but also non-rewritable recovery firmware, which allows you to boot the system from a USB flash drive or memory card and check and restore the system.

In addition to CoreBoot, the EEPROM of any Chromebook includes SeaBIOS, an open BIOS implementation that allows you to install Windows or Linux on your device without any hassle.

Ubiquitous Linux

Current versions of Chrome OS are based on Gentoo Linux, with the exception that instead of the standard OpenRC initialization system for this distribution, Ubuntu's Upstart is used. Compared to a regular Linux distribution, the system is very stripped down, so there is nothing special to download and it starts literally in a second. There is no regular terminal, but there is a local shell crosh available via.

By executing the shell command in it, we will have access to standard bash with root rights (in Chromium OS, of course) and will be able to explore the system. There are the well-known daemons here: rsyslogd, dbus-daemon (D-Bus is used in Chrome OS to exchange data between the browser and the rest of the system), wpa_supplicant (authentication in Wi-Fi networks), dhcpcd, Xs, ModemManager (working with 3G -modems), udev, ConnMan (manages connections to the network) plus more than a dozen Chrome OS-specific daemons, including those responsible for updating the system (update_engine), working with the TPM module (chapsd), encrypting the home directory (cryptohomed), and debugging (debugd) and other tasks.

A special place here is occupied by the session_manager daemon, which is responsible for initializing the high-level part of the OS. His tasks include:

  1. Start the X server.
  2. Initialize environment variables for the Chrome browser.
  3. Create the necessary directories, files and cgroups rules for Chrome.
  4. Launch Chrome.
  5. Trigger the Upstart event login-prompt-visible, causing the login window to appear on the screen.

During this process, no components responsible for creating the “desktop” are actually launched (with the exception of the login window). It is rendered by the browser itself, relying on the Aura framework, which includes low-level functions for working with graphics and windows (with hardware acceleration via DRI) and the Ash desktop environment, which renders the taskbar, window decorations, Google Now and other standard interface elements OS. Although they are part of the Chrome browser, they nonetheless operate within multiple independent processes.

INFO

In the event of a system boot failure, which is logged if the browser process cannot be started within 30 seconds, Chromium OS automatically starts the SSH server and restarts polling the kernel for hardware using the udevtrigger command.

Thanks to the integration of Aura and Ash into Chrome itself, you can get the Chrome OS desktop on any OS by running the browser with the --open-ash flag.

Safety

In addition to the methods already discussed to ensure security and data integrity, such as secure boot of the system, an encrypted home directory with cached data (encryption is performed separately for each user), as well as standard methods for the Chrome browser for isolating processes, plugins and Native Client from the system (used here seccomp-bpf mechanism, which allows you to filter access to system calls), Chrome OS uses a number of other security approaches.

The central place among them is occupied by minijail - a small application used to isolate system services (daemons) and other system components. This is a very flexible application that allows you to perform functions such as giving the application “capabilities” or revoking them (capabilities is a special subsystem of the Linux kernel for giving non-SUID binaries some root capabilities), chrooting it, revoking root rights, setting limits on resources (rlimits), place the process in dedicated namespaces (like LXC and Docker) and apply cgroups rules to it.

If you look at the output of ps aux|grep minijail (see screenshot) in a running system, you will notice that minijail is used to launch daemons with certain settings, but the number of such daemons in relation to all those running in the system is not so large . Judging by the developer documents, in the future they plan to significantly expand minijail and apply it to many more system components, including the graphics stack and Chrome. For now, it is what it is.

Other security features include the use of compiler flags to minimize the risk of stack disruption (-fno-delete-null-pointer-checks, -fstack-protector, FORTIFY_SOURCE), the use of the “enhanced” ASLR (Address space layout randomization) mechanism in the Linux kernel (PaX patch), using capabilities instead of SUID binaries where possible, restrictions on loading kernel modules, using a TPM module (in Chromebooks) to store disk encryption keys and user passwords, prohibiting the user from running regular ELF binaries and some others quite standard techniques, many of which overlap with Android and Hardened Gentoo.

conclusions

Of course, Chrome OS is much more complex than I was able to describe in this article. It has many nuances and a huge number of interesting ideas. You can read about all this on the Chromium project website, fortunately the authors are open towards third-party developers and have written very good documentation.

Meet Chrome OS

Chrome OS is a new “cloud” operating system being developed by Google for use on relatively low-power laptops and tablets. “Cloud” - precisely in the sense that all work will be carried out by the user on the Internet and his data will mainly be stored there. Some local functionality will also be present, but will play a clearly auxiliary role, say, in case there is no Internet connection. This revives the original idea behind netbooks, which, although running conventional general-purpose operating systems, should have become a kind of Internet set-top boxes (as even the name, which comes from the word network, suggests) - but did not.

By the way, it is useful to think about the reasons for this precisely in the context of Chrome OS - what prevented netbooks from forming a separate class of devices: was it just the lack of a suitable specialized platform or the unwillingness of users to abandon familiar programs and the accumulated experience of working with them in favor of web applications and the web? -storages? I believe that the second factor played, if not a determining, then at least a significant role - here you have issues with the reliability of network resources, and far from universal (convenient and cheap) access to the Internet, and, for now, a huge discrepancy in functionality. Accordingly, I want to end this short introduction with an answer to another question that our readers quite often ask when discussing articles: why do we need this? Indeed, today it is unlikely that you will be able to get much benefit from Chrome OS - by installing it on your existing computer you will not get any new features. Moreover, the full benefits of its specific architecture can only be realized on specially designed devices, so despite being open source, it is designed for use by original equipment manufacturers (OEMs), not end users. Accordingly, it’s worth reading this article and trying Chrome OS for yourself, rather, out of healthy curiosity and the desire to keep up with progress - even if Chrome OS was somewhat ahead of its time, this does not mean that the situation will not change tomorrow, especially since we are well aware of Google’s ability “push” their technologies and solutions.

Background

We first heard about Chrome OS just a little over two years ago, and in November 2009, the code for the new operating system was open-sourced as part of the Chromium OS project. At the end of 2010, Google presented a model Cr-48 Chromebook to a narrow circle of developers and beta testers, and this summer the first commercial products from Samsung and Acer appeared. They have indeed already been dubbed “Chromebooks” (Chromebook, i.e. Chrome OS + netbook/notebook) and, undoubtedly, this name will stick.

Rice. 1. Visually, the Samsung Chromebook is no different from ordinary laptops, and its internal structure has only a few features

Many other OEMs have also announced their intention to release products on Chrome OS, including not only the laptop type. For example, xi3 ChromiumPC should rather be called “chrometop” (Chrome OS + nettop). But it is clearly noticeable that none of the OEM is in a particular hurry, and the point is not even the dampness of Chrome OS itself (which is certainly the case), but rather the concept behind it. In addition, the first “Chromebooks” (due to configuration features) are not so cheap - the recommended price for the older model Samsung Chromebook Series 5 (Atom N570, 2 GB RAM, 16 GB SSD, 12.1″ LED display with a resolution of 1280 ×800, Wi-Fi, 3G modem) is $500, for this money today it is quite possible to find a better equipped general-purpose laptop.

Rice. 2. xi3 ChromiumPC is a very compact computer, essentially an Internet set-top box that is supposed to be mounted on the back wall of the monitor

Architecture

Chrome OS's focus on working with web applications determined its specific architecture.


Rice. 3. The absence of the need to run locally any applications other than the browser made it possible to simplify the Chrome OS architecture as much as possible and provide it with several specific features

As you would expect, it is based on the kernel (version 2.6.32 from the Ubuntu project, to which the necessary corrections and improvements were then made) and the Linux system environment. Since Chrome OS is designed to run one single application program in the classical sense - a browser - the latter was made compact and lightweight. X Window is also as stripped down as possible, although OpenGL support is retained (for the sake of WebGL), and the window manager is essentially combined with the browser. All other functionality, starting with OS configuration tools, is implemented by web applications that are created using HTML5 and Adobe Flash (it is likely that support for closed third-party technology is a temporary solution, a tribute to the current state of affairs on the Internet), accordingly, there are no other windows in the system, other than browser tabs and "panels" similar to the one typically used for Google Talk.

There are three main goals pursued by this architecture: simplicity, speed, security. The first has been taken to the absolute extreme: the user does not need to know anything about such things as drivers, utilities, etc. The system partition is closed for write operations, user data is stored in a specially designated area (although, of course, it is mainly supposed to be stored in the cloud). Unlocking is only allowed for developers; it is not supported in commercial products. System updates are performed automatically, as is now the case with Chrome. All that is required from the user is to be able to work with the browser; he will comprehend the necessary details as he gets acquainted with the web applications he needs.

With speed, everything is not so clear: in this context, they are mainly talking about the speed of initialization of a Chromebook - if Google's OEM requirements for device design are met (using EFI instead of BIOS, SSD instead of HDD, etc.), this figure should be no more than 8 seconds. Reviews from happy owners of Chromebooks indicate that this is absolutely possible and, in addition, the initialization speed does not drop over time, since the user, no matter how much he or she wants, cannot “litter” the OS, as often happens, say, with Windows. The performance situation for web applications is less clear. Although commercial Chromebooks are relatively powerful devices (dual-core Atom, 2 GB of memory, SSD), a large number of tabs rich in active content can completely load their computing resources. Google requires the use of a video system that supports hardware graphics acceleration; the “delights” of working without it can easily be experienced in a virtual machine, where Chromium OS, under certain conditions, simply eats up all available resources and falls into a stupor. But even on the right Chromebooks, there are complaints about performance, in particular, about video playback, which, apparently, is due to hardware limitations. In addition, a radical reduction in system services and background processes has a beneficial effect on the operating time of Chromebooks. Of course, it depends on the capacity of the battery installed in a particular model and the nature of use, but, for example, the specification of the above-mentioned Samsung Chromebook Series 5 promises about 8.5 hours of continuous operation (according to a special test from Google itself) and according to the first reviews this is not far from truth.

Finally, security, the importance of which is difficult to overestimate in the Internet era. Chrome OS is designed in such a way that it is virtually impossible for foreign code to enter the system, regardless of its purpose. Additionally, all system components and updates, which, as mentioned above, are installed automatically, are signed with digital certificates. Attacks against the browser and third-party modules plugged into it are contained within individual tab processes, thanks to Chrome's built-in sandboxing mechanism, which has proven effective even in the much less restrictive Windows environment. In the worst case scenario, a reboot should return the system to its original “clean” state, but the developers still allow for the possibility of an intrusion and, in this case, provide a system integrity check during the Chromebook initialization process. For the EFI firmware, the system kernel and important components, hashes are verified and stored in a securely protected location (this can be an EFI encrypted area or a TPM chip, the second option is preferable). If mismatches are detected, the recovery process is initiated.

Because Chromebooks allow multiple users as well as anonymous guest sign-in, all locally stored data is automatically encrypted with keys generated for each Google account. Again, TPM is preferred for encryption and key storage, although software implementation is also possible. Apparently, the first OEMs adhere to this recommendation (which, among other things, leads to an increase in price), but if Chromebooks go into circulation, someone will probably want to reduce the price as much as possible, accordingly, when choosing a model, you should pay attention for this item.

Of course, we must understand that there is no absolute protection. Thus, at the recent Black Hat security conference, a method for hacking Chrome OS (or rather, some Google web applications and services) was already demonstrated, providing attackers with access to contacts, cookies, and accounts. This example clearly shows how the attack vector is changing - Chrome OS itself is not of much interest, but the browser and web applications are used as a backdoor to user information in the cloud. The flip side of the closed software core of Chrome OS is the impossibility of expansion - for example, you cannot add Java support to the system, not to mention Moonlight, as well as codecs, etc. As mentioned above, all user capabilities are limited to Flash and HTML5, web applications and extensions Chrome.

It's worth noting how big a role EFI plays in the architecture and support of Chrome OS, which is referred to as firmware in Google documentation. EFI, as you know, is a development of BIOS and has been used for a long time in Macs running Mac OS X, but almost never in “traditional” PCs, although its support is present in 64-bit Windows. The firmware code plays a fundamental role in speeding up boot time due to early initialization of devices, it may also contain basic drivers for additional equipment, and the security system and disaster recovery functions are significantly tied to it. Thus, although Chrome OS allows work with a regular BIOS, in the general case this does not make sense, so it is not at all by chance that Google is targeting the platform for OEM use, and not for self-installation, say, as a second OS - although no one has the latter option , naturally, does not prohibit it.


Rice. 4. EFI firmware plays a vital role in the Chrome OS architecture, providing important features such as fast boot and system recovery

Chrome OS should run on x86 and ARM platforms. The latter most likely means use on tablets, but they already have Android, so why another OS? I think Google's main idea is to enable OEMs to leverage a wide variety of powerful, yet inexpensive x86 hardware, and to enable web applications to run on the widest possible range of devices at desktop quality - i.e. in full-fledged Chrome, with a predictable rendering engine, with a powerful JavaScript engine, with hardware acceleration of HTML5 and WebGL, etc.

We test it ourselves

As I said above, the Chrome OS code is developed as part of the open source Chromium OS project. This is a rather subtle point. Chromium OS can be downloaded and used by anyone, but Chrome OS is only available on real Chromebooks. The fact is that Chrome OS contains a number of closed components, in particular, a PDF reader and audio/video codecs, perhaps some others. In addition, Chrome OS blocks developer-oriented features, such as the terminal. Therefore, in the following sections I will refer specifically to Chromium OS, mentioning Chrome OS only when we are talking about the concept itself or actual Chromebooks.

The standard way to get acquainted with Chromius OS is to download and compile it in a Linux environment. But for most users this is a rather complicated and time-consuming procedure, and also completely unnecessary for the purposes of the first acquaintance. Many enthusiasts distribute already compiled assemblies; for example, on the website http://chromeos.hexxeh.net/vanilla.php you can get the latest “nightly” assembly at any time. Many people refer to this resource and its creator seems to be known, but I still recommend that for experimental purposes you specifically create a new Gmail account, which is required to log in to the system.

Rice. 5. Builds are posted every day, it makes sense to take the latest one

This site offers images of a bootable USB flash drive (and a burning utility) and virtual disks for VMware Workstation/Player and Oracle VirtualBox. In theory, the option with a bootable flash drive is preferable, since you can work with it on real hardware - but only on the condition that it turns out to be compatible with Chromium OS. Unfortunately, the latter is not always done; most often the video system is not recognized (the OS is either not initialized at all, or hardware graphics acceleration is not enabled) and the network adapter, especially the wireless one. My most successful experience was with the Acer Aspire One on the new AMD Brazos platform: Wi-Fi did not work, and although the graphics were picked up, the acceleration gave strange results and effects, so it was not even possible to get adequate test results. In a word, the USB option is worth a try for everyone, but for guaranteed results, use virtual machines.

Oddly enough, for these purposes I recommend using Vmware solutions rather than VirtualBox. For me (perhaps it was due to some peculiarities of my computer), Chromium OS worked unstably in VirtualBox, with various strange effects, but in Vmware Player it was not only more stable, but also visually somewhat “faster”. In addition, Vmware Player is also a free product, and it is even easier to adjust the configuration of a virtual machine.

So, first, register and download Vmware Player itself - about 100 MB. Installing the program does not require additional actions, you can safely agree with all the options offered, at the end you will need to reboot.


Rice. 6. The least problematic way to test Chromium OS is Vmware Player

The Chromium OS image (archive of about 250 MB) for Vmware will be distributed with a ready-made virtual machine, but I recommend that you configure it further before use. Unzip the downloaded file, launch Vmware Player and open the file with the .VMX extension (something like ChromeOS-Vanilla-0.14.805.2011_08_21_1656-r8ca0f243-VMWare.vmx). Then right-click on the Chromium OS machine that appears in the left pane and select Virtual Machine Settings. Although the preset parameters are quite sufficient for the functioning of a virtual machine running Chromium OS, depending on the host configuration they can be adjusted - for example, by adding RAM or processor cores.


Rice. 7. Although Chrome OS is designed for the Internet, Flash and HTML5 are quite taxing on processing resources, so adding them to the virtual machine can't hurt

Next, select Hard Disk (IDE) from the list of virtual equipment and pay attention in the right panel to the name of the hard disk image file. It will look like ChromeOS-Vanilla-VMWare.vmdk, while the file name from the archive will include the date and other details - it needs to be edited accordingly.


Rice. 8. You need to correct the name of the virtual disk file so that it matches what is specified in the virtual machine settings

Now select Network Adapter and select the NAT connection type in the right pane.


Rice. 9. NAT - the most universal and trouble-free mode of operation of a virtual network

In this case, Vmware Player does not allow you to configure the video system from the graphical interface, there is no such option in Chromium OS, therefore, if you do not take additional actions, the virtual machine will work in an unpredictable resolution - for example, for me it even exceeded the physical resolution of the monitor. To fix this situation, you need to open the virtual machine file (.VMX) in Notepad and add the following three lines at the end:

svga.autodetect="FALSE"
svga.maxWidth="1024"
svga.maxHeight="768"

In this case, the working resolution will be 1024×768; specify other parameters if necessary. Finally, in the main menu of Vmware Player, select File and there - Player Preferences. Since you still cannot install the Vmware Tools component in Chromium OS, you can uncheck the Check for software components as needed option to disable constant reminders.

Rice. 10. Uncheck to avoid Vmware Tools reminders every time you start the virtual machine

Now you can turn on the virtual machine.

First meeting

After a really quick initialization, you'll see a welcome and initial setup screen. Many languages ​​are supported - let's choose Russian.


Rice. 11. Chrome OS supports many languages, although localization is not fully done

Next comes the Login screen, where you can specify your existing Gmail details, create a new account, or perform a guest login, during which it will be impossible to make and save any changes to the system.


Rice. 12. You can work in guest mode, but it is better to create a separate account

The popular Google Chrome browser, as well as its freely distributed copy Chromium, is known to the vast majority of computer users. It works without any complaints, if you really rule out the problem with the Adobe Flash plugin. When going to the page http://get.adobe.com/ru/flashplayer, the user is told that the Adobe Flash plugin is installed and does not require updating.




However, nothing can be viewed on the pages of sites with active content. The only saving grace is that on the popular video hosting site YouTube, videos are played using HTML5 technology and can be viewed without using the Adobe Flash plugin.


Now let's stop and take a closer look at the Chrome OS file manager. It is launched by clicking on the icon located on the desktop of the operating system. Like the settings menu, it opens as a separate tab in the web browser. The left side of the tab displays the available drives, and the right side shows the entire contents of the selected drive.



In the directory tree, the Chrome OS system is represented as a folder for downloading files, a Google Drive cloud service for storing files, and a system disk partition.

Also in the file manager you can see all partitions of the hard drive, even those on which the Windows operating system is installed. All operations with files and folders, such as copying, moving, renaming and deleting, are performed using the corresponding buttons in the context menu.


All photos in the Chrome OS operating system can not only be viewed, but also edited in the editor.

With audio and video files things are not as good as with. The operating system, of course, has a built-in media player, but during our testing it refused to play any files.

You can access the Chrome OS desktop by pressing the usual “PrintScm” button located on the keyboard. All pictures taken are automatically saved to the folder in which downloaded files from the Internet are saved.

Installing additional applications

There are no traditional programs like in operating systems or Ubuntu Linux in Chrome OS. They have been replaced by a huge variety of mini-applications and browser plugins. Some of these applications are able to work even without an active Internet connection.

To launch the Chrome Web Store application store in the operating system, you need to click on the icon on the desktop. Once on the main page of the Chrome Web Store, the user will immediately see various categories of programs, and on the right the most popular applications.



Our first candidate for installation was the Chrome Remote Desktop plugin, which is used to control multiple computers over the Internet. This plugin can be easily found in the application search bar. To add it to your operating system, click the blue “Install” button, then click the “Add” button and wait until the installation is complete. After successful installation, the application icon will appear on the Chrome OS desktop.

To remove this application, right-click on the application icon and select “Remove from Chromium” from the context menu. Other add-ons are installed and uninstalled in the same way.

Additional applications:

Google Mail Offline. A convenient application for offline access to your Gmail mailbox.
- IMO Instant Messenger. Quite a powerful instant messaging client with built-in support for various services such as ICQ. Skypc, Google Talk. Jabber and others.
- Cut The Rope. A fun game that will definitely appeal to users of all ages.

The idea of ​​creating a new operating system, Chrome OS, created specifically for mobile computers based on an already created web browser, looks at least strange. Although, if you look from the other side, it becomes obvious that owners of netbooks spend most of their time reading sites, and cloud services that have become popular can already replace many desktop programs, such as Microsoft Office and even Adobe Photoshop.

A good help in such an endeavor can be the huge number of ones created for the Google browser, which can be found in the Chrome online application store. Putting all these components together, it turns out that the Chrome operating system has at least a good chance of getting into your laptop as a full-fledged operating system.

Racing against time

There is information that Google specialists began developing Chrome OS back in 2009. In those years, a huge number of experts were critical of the concept of a cloud operating system created on the basis of only . The constant need to be connected to the Internet significantly limited the scope of application of such an operating system. It must be said that the Chrome browser itself did not particularly shine and only “built up its muscles” to fight such competitors as Internet Explorer and Mozilla Firefox.

In 2010, a year after work on the OS began, a prototype laptop codenamed Cr-48, which ran Chrome OS, was shown to the general public. This device was the first in the still small line of Chromebooks.

Today, the range of laptops with Chrome OS installed has become much wider and boasts manufacturers such as Acer and Samsung. They create Chromebooks based on the Intel Atom processor and even on the more powerful Intel Celeron chips.

To try out the new Chrome OS operating system (you can download it here: chromeos.hexxeh.net) now, you don’t have to buy a brand new Chromebook, especially since prices are still at fairly high levels. You can simply run the company's operating system on your old computer. Although, with obsolete hardware, problems may arise during startup.

Methods for installing an operating system on USB and virtualization via VirtualBox can be read here: www.3dnews.ru

Rational approach

Currently, Google's operating system is under ongoing development and its correct operation on all devices is not guaranteed by the manufacturer. The only exceptions are a few computer models created specifically for this OS. That is why we do not recommend that you install this “raw” operating system on your work computer. If you want to conduct a trial test of the OS, then write it to an external drive or memory card or use it and run it from there.

You will know that Google Chrome OS has started loading from the Chromium logo that appears on the screen.

This inscription on the screen should not be surprising, because the Chromium web browser is taken as the basis for our version of Chrome OS, it was also created by Google and its only difference from the original Chrome is only in the openness of the source code. On our device, the operating system started quite quickly - from selecting the boot device to displaying the authorization window, less than 15 seconds passed.

However, on different computers, the loading time may vary, it all depends on the power of the processor and the speed of reading data from the internal storage.

If you launched the Chrome OS operating system for the first time, then first select the localized version of the system (the Russian version is present in the list) and install the one you need (in addition to the language system you have installed, English must be added, which is the default), after which you can connect to one from wireless Wi-Fi networks.

Chrome OS will then introduce you to the full range of supported gestures. Unfortunately, our laptop’s touch field, unlike the original Chromebooks created specifically for this purpose, was unable to recognize them. This will complete the initial setup process for Google Chrome OS, and you will not need to repeat it again the next time you boot the operating system. In the future, to log into the OS you will only have to enter the password for your Gmail service account.

Setting up the Chrome OS operating system

To open the quick settings menu of the operating system, click on the special system tray.

In the menu that appears, you can change the brightness of the screen backlight and sound volume, although you can also use the computer’s function keys instead of the menu. A little higher are three buttons: turn off the computer, change the session and lock the screen. We are more interested in the “Settings” item, where you can access the most advanced settings of the operating system.

An extended settings menu opens in the form of a regular tab in the Google Chrome web browser.

Here it is worth paying attention to individual parameters that are responsible for the visual component of the entire operating system and the browser separately.

As it turns out, it is not possible to set your own image as your desktop background. You will have to choose from several available options provided by Google.

You may also need settings that change the speed of movement of the mouse cursor. Personally, we needed them, because at first the cursor, before connecting the mouse, moved across the screen too slowly, and after connecting a wired mouse, on the contrary, it began to move too quickly.

To display additional Chrome OS settings, click on the “Show advanced settings” button. In additional settings, you can change the computer localization, time zone, font size and scale of displayed pages.

If you want to disable the display of the Google Drive cloud service in the file manager, then check the checkbox next to this option.

Standard Google Chrome OS apps

The popular Google Chrome browser, as well as its freely distributed copy Chromium, is known to the vast majority of computer users. It works without any complaints, if you really rule out the problem with the Adobe Flash plugin. When going to the page http://get.adobe.com/ru/flashplayer, the user is told that the Adobe Flash plugin is installed and does not require updating.

However, nothing can be viewed on the pages of sites with active content. The only saving grace is that on the popular video hosting site YouTube, videos are played using HTML5 technology and can be viewed without using the Adobe Flash plugin.

Now let's stop and take a closer look at the Chrome OS file manager. It is launched by clicking on the icon located on the desktop of the operating system. Like the settings menu, it opens as a separate tab in the web browser. The left side of the tab displays the available drives, and the right side shows the entire contents of the selected drive.

In the directory tree, the Chrome OS system is represented as a folder for downloading files, a Google Drive cloud service for storing files, and a system disk partition.

Also in the file manager you can see all partitions of the hard drive, even those on which the Windows operating system is installed. All operations with files and folders, such as copying, moving, renaming and deleting, are performed using the corresponding buttons in the context menu.

All photos in the Chrome OS operating system can not only be viewed, but also edited in the editor.

With audio and video files things are not as good as with . The operating system, of course, has a built-in media player, but during our testing it refused to play any files.

You can access the Chrome OS desktop by pressing the usual “PrintScm” button located on the keyboard. All pictures taken are automatically saved to the folder in which downloaded files from the Internet are saved.

Installing additional applications

There are no traditional programs like in operating systems or Ubuntu Linux in Chrome OS. They have been replaced by a huge variety of mini-applications and browser plugins. Some of these applications are able to work even without an active Internet connection.

To launch the Chrome Web Store application store in the operating system, you need to click on the icon on the desktop. Once on the main page of the Chrome Web Store, the user will immediately see various categories of programs, and on the right the most popular applications.

Our first candidate for installation was the Chrome Remote Desktop plugin, which is used to control multiple computers over the Internet. This plugin can be easily found in the application search bar. To add it to your operating system, click the blue “Install” button, then click the “Add” button and wait until the installation is complete. After successful installation, the application icon will appear on the Chrome OS desktop.

To remove this application, right-click on the application icon and select “Remove from Chromium” from the context menu. Other add-ons are installed and uninstalled in the same way.

Additional applications:

– Google Mail Offline. A convenient application for offline access to your Gmail mailbox.- IMO Instant Messenger. Quite a powerful instant messaging client with built-in support for various services such as ICQ. Skypc, Google Talk. Jabber and others. - Cut The Rope. A fun game that will definitely appeal to users of all ages.

A small retreat

This post is just impressions of use, thoughts on how you can use this machine. A post about delivery, where I ordered it, how I placed the order, etc. (in photos) will come later. Now I would like to express my thoughts in a somewhat dry form.

What happened before...

Before talking about the acquisition, it is necessary to mention the tasks I perform:
  • working with email (five mailboxes on average);
  • work with documents of all imaginable formats (.doc, .rtf, .txt, .docx, .odt, .xsl, etc.);
  • modeling business processes, drawing up and maintaining projects;
  • working with the regulatory framework, searching for regulatory documents;
  • negotiations via various messengers (icq, jabber, gtalk, skype, irc, etc.);
  • working with tools for analyzing website traffic (Yandex.metrics, google.analytics, etc.);
  • graphics editing;
  • working with company websites, website engines;
  • software testing.
Also “for myself” I work with php, css, html, tcl, python, erlang. Now I’ve started learning Io (offtopic: it’s a great language, I don’t understand why it’s so poorly distributed), I’m waiting for official GUI support in Rebol3 (it was cut out of the official build, but there are simply no unofficial ones compiled for *nix).
This results in a fairly extensive list of tasks that need to be grouped in one convenient workplace. Initially, I tried to cram all this into Windows 7, but it became inconvenient to use; if something needed to be compiled from source code, Hell began. Therefore, I switched to Linux as a working system (previously I was picking for myself). I tried Arch, Gentoo, Ubuntu, Debian, Fedora, CentOS. As a result, I settled on OpenSuse as a more stable and less ancient distribution in terms of program versions (IMHO!).
Over time, the need arose to transfer large files to people geographically located several thousand kilometers away. Started using git, dropbox, box, etc.
Due to the fact that our compatriots often layout documents crookedly (you should have seen some of the reports - it’s terrible), but I needed a correct display, I started using Microsoft Skydrive and their cloud office. And Evernote, which I got very used to while studying at university.
Bottom line: a large number of programs, many cloud services, a lot of software, a large number of constantly transferred files.
Let me clarify right away - I work on my own machine, because I need access to work documents 24 hours a day.

Acer C7 & Google Chrome OS


When the laptop arrived, the first thing I did was scold myself for not immediately ordering an adapter from an American plug to a domestic one for 1 buck. I was lucky that the Packarge Bell multimedia laptop had a similar charger (they were now bought by Acer). Therefore, the problem can be considered temporarily solved (I completely solved it when I bought this adapter at the nearest household appliances store).
The operating system booted quickly, asked for a login and password for Google mail, as well as a key for the WiFi network and a language. The first startup took a couple of minutes, after which I immediately got to the desktop, which had no shortcuts or the usual start button. Only a panel at the bottom of the screen (transparent) with buttons - Google Chrome, Gmail, YouTube, Google and an application menu (of which Google Office, a file manager and a couple of other applications are installed).
The rest had to be installed from the application store...

Clouds



The first thing we had to get used to and understand was that most of the applications in the system are “cloud-based”. The first thing I decided on was office applications. Google Office and Microsift SkyDrive have completely resolved this issue.


Evernote is like a web client, no need to explain.
Messenger - IM+. Previously I was on IMO, but I liked IM+ more.
For email - Gmail Offline (I have Gmail mailboxes, not Google mailboxes - they make transfers to them).
To carry out simple calculations (on your knees) - Numerics Calculator (programmable, cloud-based).

For SSH - Secure Shell.
Sometimes I need to write something quickly that won't end up in a notebook or calendar. A note that will be needed for a couple of hours. For these purposes, I liked Writer - a simple notepad-type text editor that binds to a Google account and saves everything written to files.

Editing graphics? What was written in flash - Pixlr Editor - was enough for me. It's not Photoshop or even Gimp. But for purposes like cropping the background and inserting it into a website, it will do just fine.
Viewing graphics from the inside, video and audio, in principle, too.


Modeling? I liked the draw.io service the most.
Next came a hobby that I do in rare hours of rest ^_^.
The choice of IDE is still in process. Main candidates:
  • Cloud9 is a powerful IDE, supports one closed project and three open projects, and can synchronize with GitHub and DropBox. Supports the syntax of many languages, has a terminal emulator (with the ability to call major scripting languages).
  • Koding is a fresh product, still in the open beta stage via invites. I registered, a month later I received an invite (if anyone needs it, write in a personal message, there are 2 available). Still in semi-working condition. It’s attractive because it allows you to immediately install frameworks like Ruby on Rails and a faster terminal emulator (from which I mostly need tclsh). The experience of working in it is more pleasant, more responsive in operation, more convenient in the interface (a hybrid of IDE and social media).
  • FriendCode is an IDE for teamwork, that says it all. I don’t yet know how convenient it is, I haven’t had time to try it out. Later I’ll tell you what exactly I chose and why, then I’ll add to the description of this environment.
Compiling code? It is carried out mainly at home on a “working” (intended for development), separate laptop with OpenSuse. Accordingly, project files are downloaded through the interface of the same IDE.
Well, as a last resort, there is an excellent service that can compile 40 programming languages.
Music? Everything here is also very interesting.


Firstly, there is an excellent service called Grooveshark, which allows you to listen to music in the cloud and create your own playlists. At the same time, what is missing can always be downloaded from the local machine and the music will always be available.


The second is the absolutely crazy Achshar Player, which is even worse than tkabber. An offline music player written in HTML5+JS with playlists, libraries and more. At the same time, when you open a folder, it immediately copies the contents of this folder to the hard drive (i.e., you opened the folder from the hard drive, all the contents were copied to your media library, you got tired of it - deleted it from the player and from the media library at once).

Extensions

Since Google Chrome OS is primarily an OS browser, add-ons to the browser are especially important for ease of use. So I have a simple watch (so I don’t even need to look at the tree stump), a save button in Google Drive and a plugin for Gmail that allows you to read and write without going to the service page. I haven't used the rest yet.

Native Client

The most delicious and interesting. Google has provided technology that allows you to make “offline” applications that run in a browser window. Some of the ones I have delivered are Google Docs, GFort, Gmail Offline and a remake of the great StarControl 2 - The Ur-Quan Masters. Everything works like a charm, without an Internet connection.

So far there are very few applications written in this way, but I think everything is ahead. Technology, as far as I know, is not a year old yet.

Collaboration

This is where things get interesting. Firstly, Google gave 100 GB on their Google Drive to everyone who bought a Chromebook." In total, we have 420 GB of space (if you count the hard drive of the machine itself). Plus all the cloud services. As a result, we have 320 spaces on a local machine, yes more than 130 GB in the clouds. It all needs to be linked somehow. Copying to Google Drive is done simply using the built-in file manager File. But what to do when you need to transfer something from Box or DropBox, say, to GitHub? - openera, which can link all the above-mentioned clouds into a single interface through a Google account and help you specify the rules for “sending” files (for example, use only Box for pictures. Do I need to transfer the file to a colleague? Do I share it in Google Drive or throw it on GitHub (depending). what kind of file).

Impressions from the OS

Simply gorgeous. It loads quickly, works quickly, and has never frozen. It is updated more or less regularly, but not constantly like Windows. The first OS I'm on just working, A I don't play OS settings before work. At first I was upset by the lack of a terminal, but now I understand that I actually don’t need it for the tasks I’m performing.

Ergonomics Acer C7

Photo - later, in another article. Now it’s just my impressions - I haven’t had a more convenient machine (and I’ve worked for HP, Acer, Fujitsu SIMens, Dell, Sony, Asus). I hardly touch the stationary Packarge Bell with Win7 and the working HP Pavilion dm3 with OpenSuse. 60% of this is due to the OS, but 40% is due to ergonomics. Comfortable keyboard, large touchpad that understands gestures, nothing superfluous.

What's left overboard

A lot, actually. For example, Google Chrome OS is a full-fledged Linux. Yes, initially it does not contain make, gcc, mc, etc. But there is almost the entire GNU environment, including tar and a full-fledged bash. True, to do this you need to switch to developer mode (which is what my friend did on the third day of use), after which the crosh terminal (called in the browser tab) can be entered with the “shell” command, which really turns on full-fledged bash in the browser tab. This means we can improve the system ad infinitum. It turns out that we have a system that is equally suitable for both the user and the geek: from a housewife to an economic analyst and a programmer. I found the perfect Unix for me. I wish the same for you. Thanks to everyone who read this heap of thoughts!

Even at the dawn of the computer era, a global balance of power in the market for desktop operating systems was established that has survived to this day. We live in a bipolar world where Microsoft and Apple rule the roost. Two American corporations have divided their spheres of influence and it seems that the current balance of power suits everyone. Microsoft has Windows, which still remains the number one operating system, so that “haters” don’t shout year after year about the imminent “Windowscaper”. For the Redmond company, every Windows device sold is not only a profit for the sold license for its OS, but also a chance to impose additional services on the user. Office 365, OneDrive, Xbox Music and other company services are what allow Microsoft to look confidently into the future, no matter how clumsy the announcements of new versions of Windows and Windows Phone are.

For Apple the situation is different. The share of Macs relative to the global computer market has always hovered around the statistical error, but the company from Cupertino has its own loyal audience that is willing to pay for the simplicity and convenience of computers with OS X. This allows Apple to boast about the high margins of its products and earn more money, than any of the competitors.

Yes, of course, you shouldn’t forget about Linux distributions, but finding computers running this OS on the open market is a non-trivial task. Alas, “Linux” (in the broad sense of the word) was a narrow-profile system for IT specialists and scientists, and remains so. No community efforts have helped in any way dislodge the positions of Microsoft or Apple.

Therefore, the market has long been waiting for the emergence of a third force that could bring fresh ideas and offer consumers at least some alternative to Windows and OS X. This force was the operating system from Google, called Chrome OS. It is based on the Linux kernel and, already familiar to many, the Chrome browser, which over the 6 years of its existence has become the most popular browser in the world, leaving behind Opera, Mozilla Firefox, Internet Explorer, Safari and other old-timers of the Internet. Statistics from our site say that every third person who is currently reading this article does so through the Google Chrome browser - you will agree that these are impressive numbers.

Building an operating system around a browser and cloud services that requires a constant Internet connection to function properly is a crazy idea that does not bode well. This is what analysts thought at the time of the announcement of Google Chrome OS in 2009. But today, when an ordinary smartphone can receive data at speeds exceeding 100 Mbps on fourth-generation mobile networks, Chrome OS is no longer perceived as something outlandish. The Internet has become more accessible, computer components are cheaper, and the capabilities of the Chrome browser have become noticeably wider than regular Internet browsing. All this allowed Chrome OS to make a significant leap and become a full-fledged player in the market.

System concept

When laying the foundation for Chrome OS, Google relied on Web applications and cloud computing. Therefore, computers running this operating system do not have impressive characteristics. Why use a large SSD if all data can be stored in the cloud? Why a powerful processor and a discrete video card if the game can be launched on a remote server and only the image can be transferred to the player? This is the ideology of Chrome OS, which allows you to significantly reduce the price of a computer that acts more as a terminal to the cloud and company services, rather than an independent unit. But you shouldn’t think that Chromebooks are incapable of anything without the Internet - this is far from the case.

Getting to know the system

While any Android device can be used without entering your Google account, a similar number will not work with Chrome OS. The system will not let you go beyond the start screen if you log in to an existing account or do not create a new one. In addition to banal things, like automatic synchronization of all your bookmarks, extensions and applications in the Google Chrome browser, this step also brings pleasant bonuses. Each Chromebook comes with 100Gb of Google Drive cloud storage for 2 years, a monthly subscription to the Google Play Music music service, and several other nice goodies that are tied to your account.

The system supports multiple users using one device. It is possible to fully administer accounts, differentiate access rights, etc. If necessary, you can enable “guest” mode. In it, only the Google Chrome browser is available to the user, and all data is deleted after the session ends.

Let's take a closer look at the Chrome OS workspace.

Most of the screen is taken up by the desktop, which is the most useless desktop of all operating systems. You cannot move the necessary files here; you cannot create a folder or shortcut to applications on it. It is only needed to display beautiful wallpapers. By the way, you can choose them yourself or trust the taste of Google by turning on the “Surprise Me” function. In this mode, the wallpaper changes automatically every day, loading images from special thematic sites from the Google catalog.

The second element of the home screen is the taskbar. It can be located on the left, bottom or right.

In the lower left (or upper) corner there is a menu of all installed applications. It is designed in a miniature style and resembles a miniature Launchpad from OS X. All applications and extensions for the Google Chrome browser are included here, which can work independently, and if necessary, they can be grouped into folders. We'll talk about the applications themselves below.

In the same menu there is a quick search window that allows you to find the desired application, bookmark in the browser, or quickly send a search request via Google.com. There is a voice search option, and for Chromebooks in the USA it is already being tested to automatically launch it using the already familiar “Ok, Google”.

Next on the taskbar are pinned and running applications. You can choose this list yourself. This is useful because... After that, each pinned program can be launched using a quick keyboard shortcut. If the application is running, it is highlighted with a white stripe at the bottom.

In the lower right corner there is system information, a notification center and quick access to settings.

Running system applications appear on this side. For example, music player widget, Hangouts chats, etc.

Applications

As the name Chrome OS suggests, its center is the Google Chrome browser. I won’t dwell on its basic capabilities, but the applications for it are worth talking about separately. So, what can you install from the Chrome Store and how does it integrate with Chrome OS:

– Web applications. If you use the Feedly or Gmail web interfaces, then this is it. In Chrome OS, they are integrated as quick shortcuts that open the corresponding tab in a new browser window. For such applications there is also an “open in a separate window” setting. This mode disables all normal Chrome elements and leaves only a clean interface.

– Offline applications. These are full-fledged applications, of which there are not many for Chrome OS yet. For example, there is an offline client for Gmail, Google Keep notes, Pocket post-reading service, etc.

Visually, working with Web applications is no different from working with offline applications. A few screenshots as an example.

Google Calendar web application:


Offline Pocket app:


Working with data

Chrome OS comes with a built-in file manager that is right out of the box with Google Drive. The Downloads tab displays all locally saved data. System screenshots, all downloads from the browser, etc. are saved to the root directory by default. If necessary, you can create folders for any of your needs.

Chrome OS can work with external drives, which, if connected, will be displayed in the side menu. The dispatcher has a built-in archiver that supports working with most popular formats.

When connecting devices operating in PTP mode, the Google+ Photos application is launched, which serves as an analogue of “Image Capture” from Mac OS, with the only exception that photos are uploaded directly to the cloud (an Internet connection is required). Clarification for the paranoid - photos are uploaded to a private album, accessible only to you.

It's funny that Chrome OS does not support the MTP protocol, which makes it impossible to transfer media files to Android devices when connected via micro-USB. However, MTP support should appear in the next system updates.

System updates

Chrome OS has the clearest and most transparent update model of any desktop OS. There are three builds of the system: Stable, Beta, Unstable.

Stable - for ordinary users who are not looking for unnecessary adventures. This version of the system will be installed on any Chromebook purchased in a store.

Unstable is a system build that includes all of Google's new developments for Chrome OS. But you need to be prepared for the fact that you will have to pay for your love of novelty with unstable computer behavior.


Switching between three builds of Chrome OS occurs in one click in the corresponding menu. It is, of course, hidden deep in the system settings, but this was done on purpose. All three versions of Chrome OS are updated regularly, but this happens in the background. No constant reboots, long downloading updates, etc. You just turn on your computer, and it’s already updated. It's comfortable.

Chrome OS without network

Most people are sure that without an Internet connection, Chrome OS won't even start. This is a common myth that I would like to destroy. The system has a built-in photo editor, music player, video player, support for working with offline documents, mail, calendar and much more. Chromebooks can easily handle basic computer tasks even without a network.

Naturally, if we are talking about working with media files, then the capabilities of most Chromebooks are limited by the size of the built-in SSD drive. When you only have 30Gb, you don’t want to fill it with music and movies. Chrome OS supports most modern codecs, so you can open almost any file if necessary. But all this does not negate the fact that the system vitally needs a universal media harvester like VLC. For example, a standard video player does not support working with subtitles, which will be critical for many.

Without an Internet connection, you can safely continue to work with documents in Google Drive, view and respond to email in Gmail, create new events in your calendar, etc. As soon as Chrome OS gains access to the network, everything will immediately sync in the background without your intervention. If these features are not enough for you, then in the Chrome Store there is a special section with applications that support work in Offline mode. There you can find clients for Pocket, Wunderlist, Evernote, Google Keep, games and much more.

Keyboard

An important part of Chrome OS is such an invisible thing at first glance as the keyboard. Google's approach is reminiscent of what Apple did in OS X, namely a huge number of keyboard shortcuts that make working with the system much easier. Plus, every Chromebook has an additional row of keys designed specifically for Google Chrome. This allows you to surf the Internet at a qualitatively different level. Listing all the “shortcuts” would take up a lot of space, you can see them, but special thanks to Google for the ability to take a screenshot of an area rather than the entire screen. Windows still can't do this.

Conclusion

Despite all the problems and general skepticism that surrounded Chrome OS since its inception, Google managed to become a full-fledged player in the market of “adult” operating systems. And even though the share of Chromebooks is still small, it shows steady growth from quarter to quarter, in contrast to Macs and Windows computers. Against the backdrop of stagnation in the personal computer market and the transition to the “post-PC era,” Chrome OS is a real breath of fresh air for OEMs. Cheap and reliable. These are the words I would use to describe most computers running this operating system. Yes, they still lack functionality, but they can already perform most common tasks that will satisfy the needs of most users, and they do it well.

P.S: If you have questions about Chrome OS that are not covered in the text, I will be happy to answer them in the comments.