初步认识Unix/Linux系统编程

来源:互联网 发布:ppt软件免费版下载 编辑:程序博客网 时间:2024/05/17 06:25
对Uinx/Linux C编程的初步认识

我想要写的:
1.自己的一些感想
2.什么是Unix/Linux C编程
3.学习它主要用来解决什么问题

1.感想:
    终于决定开始写一个博客,来记录自己的学习历程和表述自己对知识的理解。因为我发现,作为一名程序员,如果不能向别人清楚的表述出自己的想法那么在一起合作开发的时候会是很影响效率的,说个话半天说不出自己内心的真是想法,往往要耽误很多事情。
    将学习到的知识记录下来,然后尝试用自己的话语来表达出自己内心的理解。
    有问题=>想清楚究竟是什么问题=>准确的描述问题

2.我对与编程和操作系统的简单认识
    操作系统可以理解为一台抽象的计算机,它屏蔽了复杂的硬件实现,为我们硬件提供了各种抽象技术来操作计算机的硬件工作,极大的降低了编写计算机程序的门槛,使得我们只需要清楚的认识和理解那些抽象技术就可以编写出我们想要的程序。
    首先认识以下计算机的构成和抽象技术:
层次:
        应用程序
               |
        操作系统
               |
    处理器/主存/IO设备

抽象表示:
        进程    (处理器/主存/IO设备)
           |
     虚拟存储器(主存/IO设备)
           |    
        文件(IO设备)
    
    C语言伴随着Unix操作系统的设计和开发而产生,我在想,能够把那么复杂的汇编和机器语言用C语言来替代,这真的是一个伟大的进步,我很庆幸自己今天能够入门就用高级语言来编写程序。
    总之,Unix/Linux操作系统大部分用C语言来实现,然后开发者为我们提供了API接口用来操作和使用系统,这些API就像一块块积木,我们可以使用它们搭建出千奇百怪的事物,使用它们来解决我们遇到的各种实际问题。

3.我们可以使用API解决那些的问题
    早期的计算机是没有桌面系统的,今天我们如此方便的使用计算机,鼠标轻轻点击和移动就可以让计算机实现各种各样的功能。事实上,显示器只是计算机的一个I/O设备,没有它计算机照样可以实现现在的所有功能,只是我们不能用肉眼看到处理的结果而已。
    现在我们假设鼠标是不存在的,一切的操作只能用shell和键盘来实现。
    根据以上的抽象层次,我们也主要从下面几个角度来探讨问题:
(1)文件的操作
    文件是对IO设备的抽象表示,在计算机中,我们将和主存之间进行交互的设备看作IO设备,比如磁盘,显示器等等。
(2)内存管理
    这里的内存是虚拟内存,虚拟内存是对主存和磁盘存储器的抽象,操作系统为每个程序虚拟出自己的内存空间,我们不需要关心它如何实现,我们只关心如何管理这块虚拟出来的内存。
(3)进程管理
    进程是操作系统对一个正在运行程序的抽象,似乎计算机只执行它一个程序,其他的工作交给操作系统处理
(4)进程间的通信
0 0
原创粉丝点击