{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/VM","result":{"data":{"roamPage":{"title":"VM","childMdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"vm\"\n  }, \"VM\"), mdx(Block, {\n    id: \"eYYeC9lOz\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/a6f84\",\n      \"title\": \"추가 바람\",\n      \"className\": \" internal-link\"\n    }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Vq8xKvIFp\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"링크\"\n    }, \"\\uB9C1\\uD06C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"dvmP7lwap\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://en.wikipedia.org/wiki/Hypervisor\"\n    }, \"https://en.wikipedia.org/wiki/Hypervisor\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"shvIqd9B9\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://en.wikipedia.org/wiki/Virtual_machine\"\n    }, \"https://en.wikipedia.org/wiki/Virtual_machine\"))),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","outboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"추가-바람\"\n  }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), mdx(Block, {\n    id: \"ZxkIoAt-4\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uBBF8\\uB798\\uC758 \\uB0B4\\uAC00 \\uC368 \\uC918\\uC57C \\uD560 \\uB0B4\\uC6A9\\uB4E4\\uC744 \\uB9C1\\uD06C\\uD574\\uB450\\uB294 \\uACF3\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"5tzg0kntF\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"{{query: {and: \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/a6f84\",\n      \"title\": \"추가 바람\",\n      \"className\": \" internal-link\"\n    }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), \"}}}\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"bcdb0705-aec2-57bc-8208-d5066be4eff2","title":"추가 바람","fields":{"slug":"/a6f84"}}}],"inboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Block, {\n    id: \"KFQVR09j1\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Hyper-V \\uAC00\\uC0C1\\uD654 \\uAE30\\uC220\\uC744 \\uC774\\uC6A9\\uD574\\uC11C \\uC77C\\uC885\\uC758 \\uACBD\\uB7C9\\uD654\\uB41C Linux \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/VM\",\n      \"title\": \"VM\",\n      \"className\": \" internal-link\"\n    }, \"VM\"), \"\\uC744 \\uC81C\\uACF5\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"acb22be0-5eec-591e-a57d-100fda5657d6","string":"Hyper-V 가상화 기술을 이용해서 일종의 경량화된 Linux [[VM]]을 제공한다.","fields":{"parentPage":{"title":"WSL","fields":{"slug":"/WSL"}},"slug":"/KFQVR09j1"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(Block, {\n    id: \"WUfYp1_cb\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC774\\uB7EC\\uD55C \\uAD6C\\uC870\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/VM\",\n      \"title\": \"VM\",\n      \"className\": \" internal-link\"\n    }, \"VM\"), \"\\uC758 overhead \\uC5C6\\uC774 Linux\\uB97C \\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD558\\uAC8C \\uD574 \\uC8FC\\uC5C8\\uC9C0\\uB9CC \\uC0AC\\uC6A9 \\uAC00\\uB2A5\\uD55C syscall\\uC5D0 \\uC81C\\uD55C\\uC774 \\uB530\\uB790\\uACE0 \\uADF8\\uB85C \\uC778\\uD574 \\uC0AC\\uC6A9\\uD560 \\uC218 \\uC788\\uB294 \\uC18C\\uD504\\uD2B8\\uC6E8\\uC5B4\\uC5D0\\uB3C4 \\uC81C\\uD55C\\uC774 \\uC788\\uC5C8\\uB2E4.\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"4e391a85-80a9-5c7a-94e7-2e18706cb474","string":"이러한 구조는 [[VM]]의 overhead 없이 Linux를 사용 가능하게 해 주었지만 사용 가능한 syscall에 제한이 따랐고 그로 인해 사용할 수 있는 소프트웨어에도 제한이 있었다.","fields":{"parentPage":{"title":"WSL","fields":{"slug":"/WSL"}},"slug":"/WUfYp1_cb"}}}]},"fields":{"slug":"/VM"}}},"pageContext":{"id":"20259bec-75b6-5a4c-bf8d-0607b3fab517"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}