问题 我在哪里可以开始寻求更好地了解计算机的工作原理?


我一直想弄清楚我想在以后的生活中使用什么计算机领域。大学就在我身边,我考虑过从事计算机工程,软件工程等方面的工作。

最近,我一直在研究计算机安全系统及其开发(纯粹出于教育目的,在我自己的财产上)。不幸的是,在我看来,99%的人不知道他们在谈论什么。通常情况下,它只是“运行这个”或“运行那个”或“你可以找到一个能为你完成所有这些的程序” - 没有人知道这些程序是如何工作的,或者它们究竟是做什么的。

我发现使用其他人创建的东西并不像大多数人那样称自己为“黑客”。事实上,我甚至没有像他们这样做那样对黑客系统感兴趣。

我的问题都归结于此。

我想学习计算机的内部,外部,起点和下降 - 从互联网和数据传输等抽象概念到硬件。我想知道计算机如何存储数据(如何组织叮咬等)以及处理器等实际执行的操作。什么是WIFI,真的吗?计算机是否与光通信(我从飞机上阅读的杂志中拾取的东西)。

我有多年的计算机/编程经验,但我对计算机的了解非常广泛。计算机在彼此之间来回发送信息包,每个信息包都有标题和内容。计算机由多个组件组成,每个组件都有自己的功能(处理器,视频卡,RAM,硬盘驱动器等),我已经对它有了一些基本的了解。等等

计算机有这么多,我不知道从哪里开始。我相信我的一些大学课程会为我解决问题,但我很好奇,我想尽可能多地开始学习。

这个问题可能到处都是,所以请在必要时请我澄清。我现在有点急躁,但我试图以最快,最连贯的方式写出我的想法(尽管我可能在这个过程中完全失败了)。

提前感谢您的任何建议!

Justian Meyer

请随意编辑此问题的标签。目前的可怕。

编辑:

所有这些评论让我兴奋:)。这么多要学习,这么多探索:)。


7286
2019-05-28 00:18:14


起源

没有什么特别的 程序设计 在这个问题上。这听起来更像是一般的计算机知识问题,在这种情况下应将其迁移到superuser.com。 - gnovice


答案:


为了帮助您选择进入哪个专业,我非常强烈推荐计算机工程(在大学课程书中称为CMPE或CE)。您的课程将带您进入您刚刚列出的所有内容,通过选修课程,您可以深入研究您希望的任何方面(例如安全性和网络)。

在CMPE中,您将学习软件(C,C ++和一些C#),然后学习硬件(可能是两个电气工程类)。完成汇编编程后,您将开始学习如何将这两者结合起来构成任何计算机或嵌入式系统中的所有其他内容。它将把你带到内存,CPU,数据总线,I / O和其他许多东西的位级别。我刚刚开始做数字设计,它的辉煌。根据您的描述,您将非常喜欢成为CMPE专业。

有计算机科学专业和软件工程师;有电气工程师;但没有没有电脑工程师设计的手机,GPS或电脑!


5



CMPE看起来就像我想做的那样:)。看起来我可以在我的本科生中追求这一点。并决定我想从那里为我的毕业生去哪里。它会让我感兴趣并保持我的选择开放:)。 - Justian Meyer
我从个人经验中了解到,MSOE有一个非常好的计算机工程本科课程。 msoe.edu/academics/academic_departments/eecs/bsce - Scott Chamberlain
就在几年前我上大学之前,我遇到了同样的问题。我主修计算机工程,我发现它是硬件和软件的完美组合。 - mouche


结构化计算机组织,Tanenbaum

这是一本很棒的书,解释了从晶体管到Java虚拟机的所有内容。


2



$ 100 +哇,这对于一个有趣的阅读来说是陡峭的,但如果真的涵盖了那么多信息,我认为这是合理的吗?对亚马逊的评论是有希望的,但其他网站显示这是为了补充计算机体系结构的课程,并且在某些章节(预期课程教学)可能非常模糊,而在其他章节中过于混乱和无组织(他们希望你已经理解了这个概念 - 有人抱怨行话。 - Justian Meyer
我同意超过100美元是一本书的很多钱。有些商店的第4版少花钱: avenuebookandco.com/?page=shop/flypage&product_id=254100 - Sjoerd
现在,这是更多可行的。作为第4版,我真的会从第5版中获得更多收益吗?当然,第五是更新的。 - Justian Meyer


这两个帮助我理解操作系统和内存如何工作。 我相信很多东西都源于这些简单的机制。

1。内存中程序的剖析

2。推动Windows内存的限制


2



@btrandom:感谢您的链接。看起来很有趣,但(我讨厌承认)此刻似乎有点过头了。当我更加警觉时,我会稍后调查一下。 - Justian Meyer
高兴地指出“简单机制”的事情。我正在学习,我觉得我需要找到一些钥匙,事情会变得不那么抽象 - 这正是你指出的简单机制:) - Nishant


安全的史蒂夫吉布森现在一直在做一系列关于计算机基础知识的播客。

http://www.grc.com/securitynow.htm 第233集“让我们设计一台计算机(第1部分)”直至最新的“我们将为速度做什么”。

每隔一集他都会听取反馈意见,也很乐意倾听。

几次(就像现在一样)他们在一个重要的安全新闻项目出现时打断了这个系列(比如几个月前那个大的SSL事情就破了)

这是一个非常好的节目,我建议从233开始,然后继续前进,然后从第1集开始。还有关于计算机网络如何工作以及加密如何工作的非常好的系列。 (当他谈到Boyer&Moore时,Ep 203会让你大吃一惊  搜索方法)


1



这看起来是个好主意!但问题是:您是推荐仅音频还是视频播客?它们是一样的吗?音频会更容易在飞行中收听,但视频可以帮助我快一点,因为我是一个视觉和口头学习者(也是一个轻微的动力学)。 - Justian Meyer
@Justian Meyer我只推荐音频。 Steve从未使用过视觉示例,他最初是一个音频播客,并多次说他知道这是他的主要受众。这段视频只是因为Leo Laport(他的共同主持人)喜欢做视频,所以他拖着史蒂夫踢着尖叫进行视频播放。 - Scott Chamberlain
@Justian“......因为我是一个视觉和口头学习者......”记住这一点。发挥你的优势......没有人会。 nosce te ipsum,蚱蜢。 - CRMay


既然你正在决定去哪里,进行软件开发或成为硬件和网络方面的专家,我想指出,在我看来,它是两种不同的职业,它们需要两种不同的思维方式。优秀的硬件专家通常不是优秀的程序员,优秀的程序员几乎总是不是硬件和网络方面的专家。所以我想说不要试图接受两者,坚持一个最适合你心态的方向。追捕两只兔子会导致没有人接触。


@Justian 我明白了,对不起,我有点误解了你。希望了解如何在硬件内部处理代码的复杂性是非常自然的。在大学时我正在阅读“计算机如何工作”这本书 - 这本书相当简单,甚至是一本关于一般硬件功能的原始书。但它可以让你对这个主题有一个广泛的看法。

想到了另一个类比。说语言学家研究语言的内部力学,但是研究语言信号如何在大脑中处理的是神经科学家。两个截然不同的职业。这并不是为了阻止你学习硬件,这只是为了强调两个领域之间的区别。


1



我完全理解你在说什么。让我澄清一下。我是一个比硬件更强大的软件人员,但我觉得从侧面学习一些硬件概念对我有好处。当我真正坐下来思考时,我不喜欢这种感觉:“我制作了一个节目。我到底做了什么?”抽象让我有一种空虚。 - Justian Meyer
“抽象让我有一种空虚” - 我喜欢这种感觉:)随着时间的推移,我开始享受和尊重这种感觉,当然,就像你一样,我总是想知道幕后发生了什么。总会有另一幕,但无论如何,探索。 - Dan Bryant
(编辑后):可以理解。我可能会进入软件,但我认为在我的本科生中完成计算机工程并没有任何损害,然后转到我的Grad中一个严格的基于软件的专业。 - Justian Meyer