首页 > 编程语言 >每个程序员都需要知道的操作系统基础知识

每个程序员都需要知道的操作系统基础知识

时间:2022-09-01 10:02:13浏览次数:105  
标签:操作系统 GUI 基础知识 程序员 线程 Linux 进程 CPU

每个程序员都需要知道的操作系统基础知识

实际上什么是操作系统?

操作系统或操作系统可以理解为您可以在设备上获得的最低控制层。操作系统管理您计算机的内存、进程、软件和硬件。这是您能够与您的设备进行交互的方法。没有它,你的设备就只是一堆微芯片和外壳。

您的操作系统实际上编排了软件,要求访问不同数量的内存、CPU 和存储。大多数设备主要有 3 种操作系统:Windows、MacOS 或 Linux。

视窗

它是几乎所有计算机都加载的最常见的操作系统。它是由微软构建的。它为日常任务(如写作、内容消费等)提供了一个非常简单的界面。

苹果系统

MacOS 是预装在 Macintosh(Apple) 计算机上的操作系统。这些设备相对昂贵,因此只占整个操作系统的一小部分。不过,大多数人更喜欢 MacOS 的外观和感觉而不是 Windows。

Linux

Linux 这个词基本上只是意味着“像 Unix”。 Unix 是基于命令行的操作系统,而 Linux 是 GUI(稍后会详细介绍 GUI)。 Linux 占操作系统总数的最小部分,但大多数服务器都使用 Linux,因为它具有高度可定制性且非常强大。如果您在开发领域,Linux 是您的最佳选择。你可以找到一个你想要的 Linux 发行版。

  • GUI — GUI 或图形用户界面通过使用图形(图标)和文本帮助您导航和使用操作系统。这使得每个人都非常容易使用。
  • CLI — 顾名思义,CLI 或命令行界面意味着您通过使用命令来控制您的计算机。这为您提供了更多的控制权,但起初这可能会令人生畏。

命令行 101

如果您从事任何技术领域,无论是软件开发、DevOps 还是其他任何领域,您都必须知道命令行工具的重要性。这些工具使您可以更好地控制您的机器,并且您可以在更短的时间内完成一系列任务,例如导航、环境设置等。不同操作系统的命令可能不同,但这些是在任何地方都可以使用的基本命令需要知道。

  • mkdir — 创建一个目录(文件夹)
  • cd(change directory) — 将目录从此处更改为描述的路径
  • ls — 显示目录中存在的所有文件和目录
  • touch - 创建文件(不是目录)
  • mv — 移动这个文件
  • cp — 复制此文件
  • rm — 删除此文件(删除)
  • curl — 下载在特定 url 找到的文件

如果你想要详细的解释和命令,你可以去 https://rb.gy/lnce7a

线程、进程和程序

您一定在某处或其他地方听说过这些术语,但从未完全理解这些术语的含义。让我为您简化它们:

程式

这很容易。可用于完成某种任务的代码集合称为程序。你通过编码制作的是一个程序。它们可以作为核心程序与操作系统捆绑在一起,也可以只完成某项任务,则称为“应用程序”。

流程

当程序运行时,无论是编译还是解释,它都以二进制形式加载到计算机的内存中,因为 CPU 只理解二进制。一个程序连同它运行所需的所有资源一起被加载到内存中,称为“进程”。您的操作系统处理分配资源以将程序转换为进程的任务。

线程

线程基本上是进程中的执行单元。一个进程可以有一个或多个线程。当一个进程发生时,CPU会为该进程分配一些资源,这些资源然后由线程共享,以便完成任务中的多个子任务,从而以更快的速度完成它。

并发和并行

现在你可能会问 CPU 是一个接一个地运行进程和线程,还是同时运行所有的?这取决于我们正在使用的处理器类型。

当您拥有多核处理器(大多数现代处理器)时,您可以真正并行运行进程和线程并完成不同的任务。这就是“并行”。

但是如果你有一个单核处理器,你的进程需要共享 CPU 才能更有效地完成工作。使用进程调度算法对不同进程的运行进行时间切片,这给人一种并行处理的错觉,但它并不是真正的并行。

每个程序员,每个人,都需要知道操作系统的基础知识。

感谢您的入住!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/7766/49440109

标签:操作系统,GUI,基础知识,程序员,线程,Linux,进程,CPU
From: https://www.cnblogs.com/amboke/p/16645462.html

相关文章

  • 关于茶的若干基础知识
    一、茶的命名方法有哪些?茶的命名,除以形状、色香味和茶树品种等为依据,还有以生产地区、采摘时期和技术措施以及销路等不同而得名。所谓七大茶类,就是人们常说的绿茶、红茶......
  • 操作系统
    1.CPU缓存CPU缓存分为3级结构:寄存器->L1缓存(数据缓存+指令缓存)->L2缓存->L3共享缓存缓存的最小单位:缓存行(64kb),这意味着对于内存连续的数据结构,一......
  • Linux基础知识(14)- Docker (七) | 使用 Docker 部署 SpringBoot 项目
    本文将完全复制“Springboot基础知识(08)-spring-boot-starter-web(Web启动器)”里的SpringbootWeb项目的代码和配置到新项目SpringbootWebDocker。在新项目Springboot......
  • 操作系统实战45讲- 02 几行汇编几行C:实现一个最简单的内核
    本节源代码位置https://gitee.com/lmos/cosmos/tree/master/lesson02/HelloOSHelloOS之前,我们先要搞清楚HelloOS的引导流程,如下图所示:PC机BIOS固件是固化在PC......
  • python基础知识学习
    基础知识学习——两周时间视频教程:https://time.geekbang.org/course/intro/100008801?tab=catalog辅助网站教程:https://www.runoob.com/python3/python3-basic-syntax.h......
  • pxe+kickstart+vsftp自动安装centos7操作系统
    PXE+kickstart自动安装centos7操作系统在配置前,首先关闭系统中的防火墙、selinux1、配置网络服务器方式1:http/https服务器充当iso源存放服务器1[root@localhost~]#......
  • 基础知识——在 5 分钟内了解 Javascript 基础知识。
    基础知识——在5分钟内了解Javascript基础知识。对新开发人员的快速且有价值的Javascript审查。如果你和我一样,你喜欢编码,但在学习新事物几天后很难记住基本概念。......
  • 你需要知道的 Python 基础知识:数据结构
    你需要知道的Python基础知识:数据结构数据结构是一种存储、组织和处理数据的格式,它允许您有效地对其执行操作Photoby保罗花冈on不飞溅例如,存储人们的电子邮件地......
  • Linux操作系统中通过命令操作Oracle数据库--笔记大全
    1.Windowsserver服务器安装数据库忘记对某个用户解锁,比如Scott,我们可以通过system用户来对该用户解锁:步骤如下:注:sys/system/oracle数据库用户都是管理员用户(1)在运行中输......
  • Linux操作系统中修改putty工具的ssh端口号(22)
    Linux服务器为了保证安全,需修改putty远程的默认端口22,具体操作步骤:1.在Linux服务器中登录用户名和密码(用root用户登录);2.输入vim /etc/ssh/sshd_config3.上下箭头移动......