
Linux
文章平均质量分 92
长天一色
技术学习生、数据搬砖人、理想实践者、幻想指挥家
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言系统编程】【第一部分:操作系统知识】1.3.实践与案例分析
通过这样的实现,您可以构建一个简单但有效的文件系统监控工具,实时监听文件或目录的变化,并记录这些事件至日志文件,以便后续进行详细的分析。通过管道,可以将一个命令的输出作为下一个命令的输入,而重定向可以将命令的输出重定向到文件中或从文件读取输入。此代码演示了基本的进程间通信机制,有助于构建功能更复杂的Shell程序,包括实现命令的解析、执行以及其他类型的输入输出重定向等。是 Linux 内核提供的一个功能,用于监控文件系统事件,比如文件的创建、删除、修改等。实例中,同时指定要监听的事件类型,比如文件的创建(原创 2024-10-05 08:15:52 · 1300 阅读 · 0 评论 -
【C语言系统编程】【第一部分:操作系统知识】1.2.POSIX标准与系统调用
POSIX(Portable Operating System Interface of Unix)标准是一系列由IEEE定义的操作系统接口标准,其目标是在Unix操作系统族之间实现源码级别的兼容性。这些标准定义了一组API,使不同操作系统之间的底层操作保持一致,从而提升了软件的可移植性和系统的可操作性。编写一个小程序,使用fork创建一个子进程,然后在子进程中执行另一个程序(如ls),父进程等待子进程结束后输出子进程的终止状态。实现一个简单的文件复制程序,使用openreadwrite和close。原创 2024-10-05 08:14:22 · 1729 阅读 · 0 评论 -
【C语言系统编程】【第一部分:操作系统知识】1.1.操作系统原理
在现代操作系统中,进程管理是至关重要的一环,它决定了一个进程何时被系统调度运行以及运行的时间长度。一个重要的管理手段便是通过调整进程的优先级,使得某些重要进程能够获得更多的CPU时间,进而提高系统的整体性能。文件系统在操作系统中扮演了极其重要的角色,它管理和组织磁盘上的数据,并提供对文件和目录的访问接口。进程是程序在计算机中的一次执行实例,包括了程序的代码、数据、以及运行的上下文环境。内存管理是操作系统和应用程序共同关心的一项关键技术,本节将介绍主要的内存分配策略,包括动态内存分配和虚拟内存。原创 2024-10-05 08:12:18 · 1551 阅读 · 1 评论 -
【C语言系统编程】【第二部分:并发编程】2.3 实践与案例分析
在生产者-消费者模型中,通过信号量和互斥锁可以有效地管理生产和消费的过程,避免竞争条件。而条件变量提供了更灵活的线程间通知机制,可以更精确地控制生产者和消费者的互相等待和唤醒。原创 2024-10-04 10:12:43 · 1203 阅读 · 1 评论 -
【C语言系统编程】【第二部分:并发编程】2.2 线程同步
读写锁允许多个线程同时读,但如果有线程在写,则其他线程必须等待读操作和写操作完成。此示例程序展示了基本的线程同步机制,使用互斥锁和条件变量来协调线程的执行顺序。线程在等待某个条件满足前会先等待并阻塞在条件变量上,而主线程通过条件变量信号来通知条件已经满足,以便唤醒线程继续执行指定的任务。通过读写锁,可以实现读写并发控制,允许多个线程同时读取数据,而写操作则是排他的,保证只有一个线程能进行写入操作。互斥锁(Mutex)是一种用于实现线程间同步的机制,它能够确保在任意时刻只有一个线程能够访问特定的资源。原创 2024-10-04 10:10:54 · 1545 阅读 · 0 评论 -
【C语言系统编程】【第二部分:并发编程】2.1 进程与线程
在多线程编程中,有时我们希望为每个线程存储特定的数据,线程局部存储(TLS)就是为每个线程单独维护这样的数据空间的机制。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空间、打开的文件等,但每个线程有自己的栈空间和寄存器。这种机制在开发需要线程安全且使用线程局部变量的应用时非常有用,例如线程池中处理不同的工作任务,需要为每个线程储存其独立的状态或数据时。线程的属性可以在创建线程时进行设置,以满足特定场景的需求。通过以上步骤,线程特定数据可以为每个线程提供独立的数据存储,避免了线程间数据干扰的问题。原创 2024-10-04 10:08:53 · 1475 阅读 · 0 评论 -
ubuntu 11.04 安装 svnManager
安装svnManager前提安装:#安装apache2sudo apt-get install apache2#安装subversion 和 apache2 组件 sudo apt-get install subversion libapache2-svn#安装mysqlsudo apt-get install mysql#开启网络访问的80端口###tomcat6 开启80端口修改 /etc/default/tomcat6 文件中 AUTHBIND=yes# I原创 2011-05-11 11:29:00 · 830 阅读 · 0 评论 -
ubuntu 11.04 安装d-link dwl-G650+a 无线上网卡(其他无线网卡均可参考)
我有一台破手提,ibm的r61i。是2008年的时候买的,现在已经过时了。由于用的原装vista,所以系统特别慢。故想在win7和 ubuntu之间选择一个合适的系统。左思右想之后,我最终决定使用ubuntu,毕竟中毒比较难,性能比较好。 但是有一个问题我始终担心的,我的笔记本正在使用d-link dwl-G650+a的无线上网卡。无意之中,我在ubutntu的software cente原创 2011-06-09 22:13:00 · 541 阅读 · 0 评论 -
ubuntu 11.04 开启 tomcat 6 的 80远程访问
<br />这个,真的很难找,网上找了N多资料,都是说怎么打开防火墙的。但是,这个根本就不是防火墙的问题,是tomcat的配置中有这样一个选项,限制80端口的使用。<br /> <br />#开启网络访问的80端口<br /><br />###tomcat6 开启80端口<br />#修改 /etc/default/tomcat6 文件中 AUTHBIND=yes,并将注释去掉。<br /><br /># If you run Tomcat on port numbers that are all high原创 2011-05-11 18:41:00 · 288 阅读 · 0 评论 -
ubuntu 安装 mysql 及 开放 mysql root的远程访问
<br />#安装mysql<br />sudo apt-get install mysql-server<br /> <br />#开发远程访问<br />#将 bind-address=127.0.0.1 注射掉<br /> <br />sudo gedit /etc/mysql/my.cnf<br /> <br />#登录 进入 mysql 使用 GRANT 语句为 root 获取远程访问权限 <br />mysql -h localhost -u root -p<br /> <br />mysql>原创 2011-05-11 14:22:00 · 317 阅读 · 0 评论