{"json_modified": "2016-07-10T03:01:46.568525", "uuid": "2b3b3794-b1f0-4181-bd0a-5576d8af580e", "title": "B2G IPC internals", "url": "/en-US/docs/Mozilla/B2G_OS/Security/B2G_IPC_internals", "tags": [], "translations": [{"uuid": "8071f645-427a-4eee-9a49-52f71af5b3a9", "title": "B2G IPC internals", "url": "/ja/docs/Mozilla/B2G_OS/Security/B2G_IPC_internals", "tags": [], "summary": "\"\"
\n In FirefoxOS we have a Multi-process Architecture where the apps on the phone are running in a different process which has the least amount of privileges.
\n Firefo OS \u3067\u306f\u6700\u5c0f\u9650\u306e\u6a29\u9650\u3092\u6301\u3063\u305f\u7570\u306a\u308b\u8907\u6570\u306e\u30d7\u30ed\u30bb\u30b9\u304c\u7aef\u672b\u3067\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u3001\u30de\u30eb\u30c1\u30d7\u30ed\u30bb\u30b9\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u30b7\u30b9\u30c6\u30e0\u4e0a\uff11\u3064\u306e b2g \u3068\u547c\u3070\u308c\u308b\u89aa\u30d7\u30ed\u30bb\u30b9\u304c\u5b58\u5728\u3057\u307e\u3059\u3002b2g \u306f nuwa \u3068\u547c\u3070\u308c\u308b\u5b50\u30d7\u30ed\u30bb\u30b9\u304c\u3044\u307e\u3059\u3002\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u30a2\u30d7\u30ea\u30d7\u30ed\u30bb\u30b9\u3068\u3057\u3066\u30d5\u30a9\u30fc\u30af\u3059\u308b\u305f\u3081\u306b\u5229\u7528\u3055\u308c\u307e\u3059\u3002\u30a2\u30d7\u30ea\u304c\u8d77\u52d5\u3059\u308b\u969b\u306b\u3001b2g \u306f nuwa \u306b\u65b0\u898f\u30d7\u30ed\u30bb\u30b9\u8d77\u52d5\u3092\u901a\u77e5\u3057\u307e\u3059\u3002\u901a\u5e38\u3001\u5b50\u30d7\u30ed\u30bb\u30b9\u306f\u6700\u5c0f\u306e\u6a29\u9650\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002\u5b9f\u884c\u3055\u305b\u305f\u3044\u52d5\u4f5c(\u6a29\u9650\u304c\u5fc5\u8981\u306a\u3082\u306e)\u306f\u3001\u89aa\u30d7\u30ed\u30bb\u30b9(b2g)\u3092\u901a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u30d7\u30ed\u30bb\u30b9\u9593\u901a\u4fe1(Inter-process Communication : IPC)\u3067\u5b9f\u73fe\u3057\u3066\u3044\u307e\u3059\u3002\u5404\u5b50\u30d7\u30ed\u30bb\u30b9\u306f IPC \u30c1\u30e3\u30f3\u30cd\u30eb\u3092\u5229\u7528\u3057\u3001\u89aa\u30d7\u30ed\u30bb\u30b9\u3068\u901a\u4fe1\u3057\u3066\u3044\u307e\u3059\u3002\u30d7\u30ed\u30bb\u30b9\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u53f3\u56f3\u306e\u901a\u308a\u3067\u3059\u3002", "localization_tags": [], "locale": "ja", "last_edit": "2016-07-10T02:59:15", "review_tags": []}], "modified": "2016-05-04T01:08:13", "label": "B2G IPC internals", "localization_tags": [], "locale": "en-US", "id": 122233, "last_edit": "2016-05-04T01:00:15", "summary": "\"\"
\n In FirefoxOS we have a Multi-process Architecture where the apps on the phone are running in a different process which has the least amount of privileges. On a running system we have a single parent process called b2g. The b2g process has a child process called nuwa, this process will be used to fork the app processes. Whenever a new app is being started on the phone, b2g tells nuwa that we need a new process. By default,\u00a0 child processes are run with a minimal set of privileges. For every action they want to perform (that needs more privileges), they need to go through the parent process (b2g). This is where the Inter-process Communication (IPC) comes into place. Each child has a connection, using an IPC channel, to the parent which will be used for its communication. The process layout is illustrated on the right.", "sections": [{"id": "Quick_Links", "title": null}, {"id": "Architecture", "title": "Architecture"}, {"id": "Setup", "title": "Setup"}, {"id": "IOLoop", "title": "IOLoop"}, {"id": "Parent", "title": null}, {"id": "Child", "title": null}, {"id": "Channel", "title": "Channel"}, {"id": "Spawning", "title": "Spawning"}, {"id": "Nuwa", "title": "Nuwa"}, {"id": "Creating_the_process", "title": null}, {"id": "Connecting_to_the_channel", "title": null}, {"id": "Preallocated", "title": "Preallocated"}, {"id": "Creating_the_process_2", "title": null}, {"id": "Connecting_to_the_channel_2", "title": null}], "slug": "Mozilla/B2G_OS/Security/B2G_IPC_internals", "review_tags": []}