首页 > 其他分享 >操作系统和应用关系

操作系统和应用关系

时间:2024-02-27 19:01:18浏览次数:17  
标签:关系 调用 操作系统 程序 硬件 程序员 应用 函数

在计算机中尚不存在操作系统的年代,完全没有任何程序,因此程序员就需要编写出处理相关的所有程序。用机器语言编写程序,然后再使用开关将程序输入,这一过程非常麻烦。于是,有人开发出了仅具有加载和运行功能的监控程序,这就是操作系统的原型。通过事先启动监控程序,程序员就可以根据需要将各种程序加载到内存中运行。虽然依旧比较麻烦,但比起在没有任何程序的状态下进行开发,工作量得到了很大的缓解。随着时代的发展,人们在利用监控程序编写程序的过程中,发现很多程序都有共通的部分。例如,通过键盘输入文字数据、往显示器输出文字数据等。这些处理,在任何程序下都是一样的。而如果每编写一个新的程序都要记述相同的处理的话,那真的是太浪费时间了。因此,基本的输入输出部分的程序就被追加到了监控程序中。初期的操作系统就这样诞生了
虽然对程序员来说,掌握硬件的基本知识是必需的,不过,在操作系统诞生以后,就没有必要再编写直接控制硬件的程序了。这样一来,制作应用的程序员就逐渐同硬件隔离开来了。也就是说,程序员是很少关注现实世界(硬件)的。由于操作系统诞生后,程序员无需再考虑硬件的问题,因此程序员的数量也增加了。哪怕是自称“对硬件一窍不通”的人,也可能会制作出一个有模有样的应用。不过,要想成为一个全面的程序员,有一点需要清楚的是,掌握基本的硬件知识,并借助操作系统进行抽象化,可以大大提高编程效率。
操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(system call),也就是应用对操作系统(system)的功能进行调用(call)的意思。在前面的程序中用到了 time() 及 printf() 等函数,这些函数内部也都使用了系统调用。用高级编程语言编写的应用在编译后,就转换成了利用系统调用的本地代码。
通过使用操作系统提供的系统调用,程序员就没必要编写直接控制硬件的程序了。而且,通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。作为硬件的磁盘媒介,就如同树木的年轮一样,被划分为了多个扇区,并以扇区为单位对磁盘进行读写。如果直接对硬件进行操作的话,那就变成了通过向磁盘用的 I/O 指定扇区位置来对数据进行读写了。下面让我们来看一下代码清单 9-2 中变量 fp 的功能。变量 fp 中被赋予的是 fopen() 函数的返回值。该值称为文件指针。应用打开文件后,操作系统就会自动申请分配用来管理文件读写的内存空间。这个内存空间的地址可以通过 fopen() 函数的返回值获得。用 fopen() 打开文件后,接下来就是通过指定文件指针来对文件进行操作。正因为如此, fputs() 及 fclose() 的参数中都指定了文件指针(变量 fp)。
Windows 操作系统的主要特征如下所示。
(1)32 位操作系统(也有 64 位版本)
(2)通过 API 函数集来提供系统调用
(3)提供采用了图形用户界面的用户界面
(4)通过 WYSIWYG实现打印输出
(5)提供多任务功能
(6)提供网络功能及数据库功能
(7)通过即插即用实现设备驱动的自动设定

标签:关系,调用,操作系统,程序,硬件,程序员,应用,函数
From: https://www.cnblogs.com/duyan123/p/18037590

相关文章

  • WPF UI更新技巧:掌握EventHandler的基础与Dispatcher的高级应用
     概述:在WPF中,通过EventHandler可实现基础和高级的UI更新方式。基础用法涉及在类中定义事件,并在UI中订阅以执行更新操作。高级用法借助Dispatcher类,确保在非UI线程上执行操作后,通过UI线程更新界面。这两种方法提供了灵活而可靠的UI更新机制。在WPF(WindowsPresentationFounda......
  • Qt 常见数据结构详解:从基本框架到实际应用
    在Qt框架中,数据结构的选择对于提高代码效率和性能至关重要。正确地使用数据结构可以显著提高应用程序的效率和响应速度。下面我们将详细介绍Qt中常见的几种数据结构,包括QString、QList、QVector、QMap、QHash、QSet和QPair。1.QStringQString是Qt中用于处理字符串的类。......
  • 一端开发、多端部署,多操作系统”争艳“背景下的开发思路
    今年,在中国,被各大媒体和开发者称为“鸿蒙元年”。 在2023年底就有业内人士透露,华为明年将推出不兼容安卓的鸿蒙版本,未来IOS、鸿蒙、安卓将成为三个各自独立的系统。果不其然,2024年1月18日的开发者(HDC)大会上,就官宣了“纯血鸿蒙”操作系统即将于2024年3季度正式投产。 伴......
  • 操作系统和应用的关系
    操作系统和应用的关系操作系统和应用软件之间的关系是操作系统为应用软件提供运行环境和基础服务,而应用软件则是直接为用户提供服务的软件。操作系统是计算机系统的核心,它管理着硬件资源(如CPU、内存、硬盘和外设等),并提供了系统服务,如内存管理、文件管理和设备管理等。这......
  • PC端web通过自定义协议唤起应用
    写注册表调用WindowsRegistryEditorVersion5.00[HKEY_CURRENT_USER\Software\Classes\test]@="URL:TestProtocol"[HKEY_CURRENT_USER\Software\Classes\test\shell][HKEY_CURRENT_USER\Software\Classes\test\shell\open][HKEY_CURRENT_USER\......
  • 第9章 操作系统和应用的关系
    用机器语言编写程序,然后再使用开关将程序输入这一过程过于麻烦,于是有人开发出了仅具有加载和运行功能的监控程序。虽然对程序员来说,掌握硬件的基础知识是必备的,不过也要意识到操作系统的存在,要想成为一个全面的程序员,有一点需要清楚的是。掌握基本的硬件知识并借助操作系统进行抽......
  • 使用cmd命令行(.NET Core CLI)来启动ASP.NET Core 应用程序的多个实例
    本章主要和大家分享下如何使用cmd命令行(.NETCoreCLI)来启动ASP.NETCore应用程序的多个实例,以此来模拟集群。.NETCore命令行接口(CLI)工具是用于开发、生成、运行和发布.NETCore应用程序的跨平台工具链。CLI命令结构包含驱动程序(“dotnet”)和命令,还可能包含命令参数......
  • 银河麒麟桌面版操作系统密码复杂度设置
    这里是桌面版的使用,资深使用者可以使用命令一键修改,这里面不涉及1密码复杂度设置1.1开始菜单,选择设置快捷键win+i也可以1.2打开账户设置1.3在安全中心的账号保护中1.4推荐的是默认的策略密码强度使用默认推荐的就可以,如果不符合你的需求可以选择自定义来自行设置密......
  • 两个向量的位置关系
    前言向量是既有大小,也有方向的量。当涉及两个向量时,就涉及两个向量的位置关系;位置关系分类当给定两个向量\(\vec{a}\)和\(\vec{b}\)时,它们之间的位置关系涉及以下几种:两个大类[共线和不共线],或者三个小类①.一类为向量\(\vec{a}\)和\(\vec{b}\)不共线时,此时两个向量......
  • 河北稳控科技振弦采集仪在桥梁岩土工程中的应用与效果评价
    振弦采集仪在桥梁岩土工程中的应用与效果评价河北稳控科技振弦采集仪是一种用于结构动力测试的仪器,也可以应用于桥梁和岩土工程中。其主要作用是通过测量结构的振动特性,分析结构的动态行为,评估结构的健康状况和性能。 在桥梁工程中,振弦采集仪可以用来监测桥梁结构的振动响应......