卡马西平片治什么病| 小三最怕什么| 指甲凹陷是什么原因引起的| 1994年什么命| 擅长是什么意思| 停经吃什么药能来月经| 湿疹用什么药膏最好| 牙疼是什么病的前兆| 地球是什么星| 长期口腔溃疡挂什么科| 朕是什么时候开始用的| 什么时候放开二胎政策| 安娜苏香水什么档次| 荣辱与共是什么意思| 春天什么花开| 脚趾抽筋是什么原因引起的| 什么叫人彘| 咳嗽吃什么好| 滑石粉是什么东西| 吃了阿莫西林不能吃什么| 嘴唇开裂是什么原因| 梦见洗衣服是什么意思| 佛度有缘人是什么意思| 圣水是什么| 刚出生的小猫吃什么| 1952年属什么生肖| 明目退翳什么意思| 鸟在家里做窝预示什么| 飞机不能带什么| 眼睛散瞳有什么危害| 甲减的原因是什么引起的| 汗疱疹是什么| 手肿胀是什么原因| who医学上是什么意思| 认知是什么| 副乳是什么原因造成的| 肺炎支原体感染吃什么药| 什么湖什么海| 麻腮风疫苗是预防什么| 乐观是什么意思| 看病人送什么| 98年属相是什么| 经期吃什么水果好| 宫腔内异常回声是什么意思| 计算机科学与技术是学什么的| 心软是什么意思| 黄瓜长什么样| 非私营单位是什么| 塔罗牌能算什么| 地头蛇比喻什么样的人| 血管炎不能吃什么食物| 飞蓬草有什么功效| 肆无忌惮是什么意思| 皮脂腺囊肿是什么原因引起的| 肚脐眼大代表什么| 彩铃是什么意思| 武夷山在什么地方| 睑腺炎是什么原因造成| 眼睛有重影是什么原因| 枷锁是什么意思| 急性阑尾炎吃什么药| 助产专业是干什么的| 腿部浮肿吃什么药| 心电图显示窦性心律是什么意思| 神经外科是看什么病的| 今年闰六月有什么说法| 小腿前面的骨头叫什么| 加持是什么意思| 什么东西啊| cba是什么意思| 痔疮应该挂什么科室| 冰粉为什么要加石灰水| 豆角不能和什么一起吃| 李白被人们称为什么| 为什么睡觉会磨牙| 口干口苦口臭吃什么药| bv是什么意思| 胃里有胀气吃什么药| 项羽姓什么| 高碳钻是什么| 游走性疼痛挂什么科| 脑部ct挂什么科| 前白蛋白是什么意思| 血红素高是什么原因| 什么水果降血压| 胃热是什么原因| 湖北九头鸟是什么意思| bmi是什么| 覆盆子是什么东西| 心律不齐什么症状| 梦见理发是什么意思| 盖是什么意思| whatsapp是什么软件| 同房什么意思| 07年属什么生肖| 蛋白尿吃什么药| 子宫前置是什么意思| 灵芝长什么样子图片| 为什么人会流泪| 什么的雷锋| 蛋白质变性的本质是什么| 亢奋是什么意思| 减肥去医院挂什么科| 什么是招风耳图片| 吐信子是什么意思啊| 明星每天都吃什么| 什么是氙气| 糖尿病喝什么茶| 姜太公钓鱼愿者上钩是什么意思| 临床药学在医院干什么| ad滴剂什么时候吃最好| 皮肤癣用什么药最好| 身份证复印件是什么| 阑尾炎是什么引起的| 为什么发烧会觉得冷| 内痔吃什么药| 跖疣去医院挂什么科室| 铁皮石斛适合什么人吃| 心境情感障碍是什么病| 以什么之名| 小康生活的标准是什么| 惭愧的意思是什么| est.是什么意思| 骶1隐裂是什么意思| 什么是慢性萎缩性胃炎| 痔疮是什么引起的| 儿童鼻炎挂什么科| 回乳是什么意思| 道心是什么意思| 淋巴结有什么症状| 腰椎间盘突出是什么原因引起的| 甲泼尼龙是什么药| 早上起床眼睛浮肿是什么原因| slogan什么意思| 口气重吃什么药效果好| 小脑萎缩吃什么药好| 什么叫同理心| metoo是什么意思| 大拇指旁边的手指叫什么| 小的五行属什么| 阴茎插入阴道是什么感觉| 丹田是什么器官| 电邮地址是什么| 尿酸高喝什么水最好| 吃什么去湿气| 内务是什么意思| 一张纸可以折什么| 神龙见首不见尾是什么意思| 为什么会胎停| 为什么腰痛| 宝批龙是什么意思| 染发有什么危害| 玉林狗肉节是什么时候| 舌头烧灼感吃什么药| 金骏眉是什么茶| 签证是什么| 十月份是什么季节| 有什么花| fdg是什么意思| 鸡奸是什么意思| 转铁蛋白阳性什么意思| 吃什么促进新陈代谢| 什么叫结节| 里长是什么官| 吃什么变聪明| 眼睛充血用什么眼药水好| 降逆是什么意思| 土豆不能和什么食物一起吃| 炖乌鸡汤放什么配料| 养胃吃什么| 眼睛红是什么病的前兆| 为什么会气虚| 发低烧是什么原因| 栀子花黄叶是什么原因| 厦门为什么叫厦门| 冲任失调是什么意思| 撤退性出血是什么| 急性肠胃炎是什么引起的| 震卦代表什么| 屏风是什么| 流涎是什么意思| 毕业穿的衣服叫什么| 诺如病毒是什么病| 刚怀孕需要注意什么| 夏至为什么吃馄饨| 软骨瘤是什么病| 刷墙的白色涂料叫什么| 痉挛是什么意思| 日本为什么侵略中国| 小孩肚子疼拉肚子吃什么药| 外阴白斑是什么样子| 五行金代表什么| 古代上元节是什么节日| 崖柏手串有什么功效| ipv是什么疫苗| 烤箱可以烤些什么东西| 深圳车牌摇号需要什么条件| 下巴长痘是什么原因| 红肉是什么| 什么含钾最多| 急性肠胃炎吃什么药好| 有代沟是什么意思| 天意不可违是什么意思| 89属什么| 吃什么降三高最好| 名士手表属于什么档次| 凯莉包是什么牌子| 667什么意思| 志趣相投是什么意思| 营养师属于什么专业| 看肺挂什么科| 痔疮不治会有什么危害| 民营经济属于什么经济| 嘴角流口水是什么原因| 巴结是什么意思| 吃什么能补肾| 太阳鱼是什么鱼| 梦见蛇在家里是什么意思| 性功能减退吃什么药| 三奇贵人是什么意思| 什么意思啊| 四肢无力吃什么药| 毛重是什么| 气蛋是什么病| sinoer是什么牌子| 什么是香云纱| 男人吃什么补身体| 心肾不交吃什么中成药| 喝什么可以减肥瘦肚子| 摸摸头是什么意思| 什么是香港脚| 睡觉起来嘴巴苦是什么原因| 1936年是什么年| mg是什么元素| 放疗起什么作用| 什么是桥本病| 晚上十点多是什么时辰| 六月二七是什么星座| 旗袍配什么鞋| 雪松香是什么味道| 常吃猪油有什么好处和坏处| 甄别是什么意思| 口腔溃疡不能吃什么| 敏感肌肤用什么护肤品| 克罗恩病有什么症状| 女人脸色发黄吃什么补得最快| 烟酒不沾的人什么性格| 植物神经紊乱中医叫什么病| 暴力倾向的人有什么表现| 电动车是什么电池| 脸上长闭口是什么原因导致的| 秋天什么时候| 中秋节为什么要吃月饼| 增生是什么原因造成的| 腰部凉凉的是什么原因| 南方有什么水果| 杨颖原名叫什么| mankind是什么意思| 怀孕初期需要注意些什么| 皮肤过敏擦什么药膏好得快| 孕妇不吃饭对胎儿有什么影响| 银925是什么意思| 胆囊结石吃什么药| 太阳里面有什么| 百度Jump to content

2017年上海二手车市场4月6日与4月7日交易...

From Wikipedia, the free encyclopedia
(Redirected from Operating system shell)
A graphical interface similar to one from the late 1980s, which features a graphical window for a man page, a shaped window (oclock) as well as several iconified windows. In the lower right we can see a terminal emulator running a Unix shell, in which the user can type commands as if they were sitting at a terminal.
百度   必须层层压实责任,从严管党治党。

An operating system shell is a computer program that provides relatively broad and direct access to the system on which it runs. The term shell refers to how it is a relatively thin layer around an operating system.[1][2]

A shell is generally a command-line interface (CLI) program although some graphical user interface (GUI) programs are arguably classified as shells too.

Overview

[edit]

Operating systems provide various services to their users, including file management, process management (running and terminating applications), batch processing, and operating system monitoring and configuration.

Most operating system shells are not direct interfaces to the underlying kernel, even if a shell communicates with the user via peripheral devices attached to the computer directly. Shells are actually special applications that use the kernel API in just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting users for input, interpreting their input, and then handling output from the underlying operating system (much like a read–eval–print loop, REPL).[3] Since the operating system shell is actually an application, it may easily be replaced with another similar application, for most operating systems.

In addition to shells running on local systems, there are different ways to make remote systems available to local users; such approaches are usually referred to as remote access or remote administration. Initially available on multi-user mainframes, which provided text-based UIs for each active user simultaneously by means of a text terminal connected to the mainframe via serial line or modem, remote access has extended to Unix-like systems and Microsoft Windows. On Unix-like systems, Secure Shell protocol (SSH) is usually used for text-based shells, while SSH tunneling can be used for X Window System–based graphical user interfaces (GUIs). On Microsoft Windows, Remote Desktop Protocol can be used to provide GUI remote access, since Windows Vista, PowerShell Remote, since Windows 10 build 1809 SSH[4] can also be used for text-based remote access via WMI, RPC, and WS-Management.[5]

Most operating system shells fall into one of two categories – command-line and graphical. Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI). Other possibilities, although not so common, include a voice user interface and various implementations of a text-based user interface (TUI) that are not CLI, such as text-based menu systems. The relative merits of CLI- and GUI-based shells are often debated. Many computer users use both depending on the task to be performed.

History

[edit]

Early interactive systems provided a simple command-line interpreter as part of the resident monitor. This interpreter might be called by different names, such as COMCON on DEC TOPS-10 systems.[6] The interpreter would execute one of a number of predefined commands, one of which would be to run a user program. Common commands would log the user on and off the system, allocate, free, and manipulate devices and files, and query various pieces of information about the system or a user process.[7]

The purpose of such a procedure is to create a medium of exchange into which one could activate any procedure, as if it were called from the inside of another program. Hereafter, for simplification, we shall refer to that procedure as the "SHELL".

Louis Pouzin, The SHELL: A Global Tool for Calling and Chaining Procedures in the System [8]

In 1964, for the Multics operating system, Louis Pouzin conceived the idea of "using commands somehow like a programming language," and coined the term shell to describe it.[9] In a 1965 document, the shell is defined as "a common procedure called automatically by the supervisor whenever a user types in some message at his console, at a time when he has no other process in active execution under console control. This procedure acts as an interface between console messages and subroutine [in the supervisor]."[10] This system was first implemented by Glenda Schroeder and an unnamed man from General Electric.[11]

Multics also introduced the active function, a key concept in all later shells. This is defined as

a string... which is replaced by a character string return value before the command line containing it is executed. Active functions are often used... to implement command-language macros.[12]

In 1971, Ken Thompson developed the Thompson shell in the first version of Unix. While simpler than the Multics shell, it contained some innovative features, which have been carried forward in modern shells, including the use of < and > for input and output redirection.

The graphical shell first appeared in Douglas Engelbart’s NLS system, demonstrated in December, 1968 at the Fall Joint Computer Conference in San Francisco, in what has been called The Mother of All Demos. Engelbart’s colleagues at Stanford Research Institute brought the concept to the Xerox Palo Alto Research Center (PARC), where it appeared on the Alto, introduced in 1973. From there the idea spread to Niklaus Wirth’s Lilith in 1980, and the Apple Lisa in 1983, then became ubiquitous.

Command-line shells

[edit]
Command Prompt, a CLI shell in Windows
Bash, a widely adopted Unix shell

A command-line interface (CLI) is an operating system shell that uses alphanumeric characters typed on a keyboard to provide instructions and data to the operating system, interactively. For example, a teletypewriter can send codes representing keystrokes to a command interpreter program running on the computer; the command interpreter parses the sequence of keystrokes and responds with an error message if it cannot recognize the sequence of characters, or it may carry out some other program action such as loading an application program, listing files, logging in a user and many others. Operating systems such as UNIX have a large variety of shell programs with different commands, syntax and capabilities, with the POSIX shell being a baseline. Some operating systems had only a single style of command interface; commodity operating systems such as MS-DOS came with a standard command interface (COMMAND.COM) but third-party interfaces were also often available, providing additional features or functions such as menuing or remote program execution.

Application programs may also implement a command-line interface. For example, in Unix-like systems, the telnet program has a number of commands for controlling a link to a remote computer system. Since the commands to the program are made of the same keystrokes as the data being sent to a remote computer, some means of distinguishing the two are required. An escape sequence can be defined, using either a special local keystroke that is never passed on but always interpreted by the local system. The program becomes modal, switching between interpreting commands from the keyboard or passing keystrokes on as data to be processed.

A feature of many command-line shells is the ability to save sequences of commands for re-use. A data file can contain sequences of commands which the CLI can be made to follow as if typed in by a user. Special features in the CLI may apply when it is carrying out these stored instructions. Such batch files (script files) can be used repeatedly to automate routine operations such as initializing a set of programs when a system is restarted. Batch mode use of shells usually involves structures, conditionals, variables, and other elements of programming languages; some have the bare essentials needed for such a purpose, others are very sophisticated programming languages in and of themselves. Conversely, some programming languages can be used interactively from an operating system shell or in a purpose-built program.

Several command-line shells, such as Nushell, Xonsh, Bash (Unix shell), and Z shell, offer command-line completion, enabling the interpreter to expand commands based on a few characters input by the user.[13]

A command-line interpreter may offer a history function, so that the user can recall earlier commands issued to the system and repeat them, possibly with some editing. Since all commands to the operating system had to be typed by the user, short command names and compact systems for representing program options were common. Short names were sometimes hard for a user to recall, and early systems lacked the storage resources to provide a detailed on-line user instruction guide.

Graphical shells

[edit]

A graphical user interface (GUI) provides means for manipulating programs graphically, by allowing for operations such as opening, closing, moving and resizing windows, as well as switching focus between windows. Graphical shells may be included with desktop environments or come separately, even as a set of loosely coupled utilities.

Most graphical user interfaces develop the metaphor of an "electronic desktop", where data files are represented as if they were paper documents on a desk, and application programs similarly have graphical representations instead of being invoked by command names.

Unix-like systems

[edit]
Drag and drop operation performed on a group of files between KDesktop and Konqueror in KDE

Graphical shells typically build on top of a windowing system. In the case of X Window System or Wayland, the shell consists of an X window manager or a Wayland compositor, respectively, as well as of one or multiple programs providing the functionality to start installed applications, to manage open windows and virtual desktops, and often to support a widget engine.

In the case of macOS, Quartz Compositor acts as the windowing system, and the shell consists of the Finder,[14] the Dock,[14] SystemUIServer,[14] and Mission Control.[15]

Microsoft Windows

[edit]

Modern versions of the Microsoft Windows operating system use the Windows shell as their shell. Windows Shell provides desktop environment, start menu, and task bar, as well as a graphical user interface for accessing the file management functions of the operating system. Older versions also include Program Manager, which was the shell for the 3.x series of Microsoft Windows, and which in fact shipped with later versions of Windows of both the 95 and NT types at least through Windows XP. The interfaces of Windows versions 1 and 2 were markedly different.

Desktop applications are also considered shells, as long as they use a third-party engine. Likewise, many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. WindowBlinds by StarDock is a good example of the former sort of application. LiteStep and Emerge Desktop are good examples of the latter.

Interoperability programmes and purpose-designed software lets Windows users use equivalents of many of the various Unix-based GUIs discussed below, as well as Macintosh. An equivalent of the OS/2 Presentation Manager for version 3.0 can run some OS/2 programmes under some conditions using the OS/2 environmental subsystem in versions of Windows NT.

Invocation from a program

[edit]

A shell can usually also be invoked from within a program through standard system functions like system(), popen() and exec() without any user interface being involved.

Beyond these standard functions, Windows for example provides the "Windows Shell API" which exposes a set of functions that programs can use to interact with the Windows shell. These shell functions are provided in DLL's (like shell32.dll and shlwapi.dll) and do not need the default Windows shell GUI i.e. explorer.exe to be running. Explorer.exe and its replacements generally make use of the Windows Shell API to provide users with a Windows shell GUI without having to implement themselves the Windows shell core functionalities (which are implemented and provided by shell32.dll and shlwapi.dll). But programs can use the Windows Shell API for other purposes and without providing users with a shell user interface.

Other uses

[edit]

"Shell" is also used loosely to describe application software that is "built around" a particular component, such as web browsers and email clients, in analogy to the shells found in nature. Indeed, the (command-line) shell encapsulates the operating system kernel. These are also sometimes referred to as "wrappers".[2]

In expert systems, a shell is a piece of software that is an "empty" expert system without the knowledge base for any particular application.[16]

See also

[edit]

References

[edit]
  1. ^ "The Internet's fifth man", Brain scan, The Economist, London: Economist Group, December 13, 2013, Mr Pouzin created a program called RUNCOM that helped users automate tedious and repetitive commands. That program, which he described as a "shell" around the computer's whirring innards, gave inspiration—and a name—to an entire class of software tools, called command-line shells, that still lurk below the surface of modern operating systems.
  2. ^ a b Raymond, Eric S. (ed.). "shell". The Jargon File.
  3. ^ "Operating system shells". AIX 6.1 Information Center. IBM Corp. Retrieved September 16, 2012.
  4. ^ teocci. "How to SSH into Windows 10 or 11?". GitHub Gist. Retrieved 2025-08-07.
  5. ^ Wheeler, Sean (14 October 2018). "Running Remote Commands". Microsoft Docs. Microsoft. Retrieved 30 June 2019. You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management.
  6. ^ Digital Equipment Corporation (Nov 1980). TOPS-10 MONITOR INTERNALS (PDF). pp. CMND-1 – CMND-16. Retrieved Mar 29, 2022.
  7. ^ Digital Equipment Corporation (Aug 1977). DECSystem 10 Operating System Commands Manual (PDF). Retrieved Mar 29, 2022.
  8. ^ Poizin, Louis. "The SHELL: A Global Tool for Calling and Chaining Procedures in the System" (PDF).
  9. ^ Pouzin, Louis. "The Origin of the Shell". multicians.org. Retrieved Mar 29, 2022.
  10. ^ Pouzin, Louis. "The SHELL: A Global Tool for Calling and Chaining Procedures in the System" (PDF). MIT.edu. Retrieved Mar 29, 2022.
  11. ^ Pouzin, Louis. "The Origin of the Shell". multicians.org. Retrieved Feb 12, 2024.
  12. ^ Honeywell, inc. (Feb 1983). Multics Common Commands (PDF). pp. 1-1 – 1-2. Retrieved Mar 29, 2022.
  13. ^ Xonsh Official Website
  14. ^ a b c "The Life Cycle of a Daemon". Apple Inc.
  15. ^ "Restart Mission Control in OS X Lion". OSXDaily. Nov 23, 2011.
  16. ^ British Computer Society: The BCS glossary of ICT and computing terms. Pearson Education. 2005. p. 135. ISBN 978-0-13-147957-9.
额头上有痣代表什么 家慈是什么意思 塔塔粉是什么粉 猿人头是什么牌子 手心热是什么原因
巨蟹座前面是什么星座 高血压需要注意些什么 儿童受凉咳嗽吃什么药 芊字五行属什么 鹅蛋脸适合什么样的发型
kcl是什么药 喉咙痛有什么好办法 暑假什么时候结束 什么是磁场 上嘴唇发黑是什么原因
总是拉稀是什么原因 高脂血症是什么病 妈妈桑是什么意思 uu解脲脲原体阳性是什么意思 为什么的拼音怎么写
喝山楂泡水有什么功效tiangongnft.com 灵长类动物是指什么hcv9jop1ns7r.cn 什么是淋巴结hcv9jop8ns2r.cn 甲状腺结节吃什么hcv8jop0ns6r.cn 飞蛾为什么会扑火hcv9jop6ns9r.cn
中午吃什么菜hcv7jop9ns9r.cn 前胸后背出汗是什么原因造成的hcv9jop5ns2r.cn pab是什么意思hcv8jop6ns5r.cn 咽喉痒干咳吃什么药wuhaiwuya.com 什么是癔病kuyehao.com
放的屁很臭是什么原因hcv8jop4ns2r.cn 邮政编码是什么意思hcv8jop8ns3r.cn 什么眼霜去眼袋效果好hcv7jop5ns0r.cn 睡不着觉什么原因hcv8jop4ns7r.cn 健康证都查什么传染病hcv8jop9ns7r.cn
红细胞偏低是什么原因hcv9jop4ns3r.cn 膝盖后面的窝叫什么shenchushe.com 梦见自己剪头发是什么意思hcv7jop7ns3r.cn 什么饼干养胃最好hcv9jop6ns6r.cn 最小的一位数是什么hcv8jop7ns8r.cn
百度