전체 글 85

[Linux] IPC 예제 ① Shared Memory & Message Queue

본 포스팅에서는 Shared Memory와 Message Queue 와 관련된 기본 예제를 프로그래밍 한다. IPC 통신과 각각의 방법의 개념에 대해 공부하고 싶다면 아래 포스팅을 참조하자 [Linux] IPC (Inter-Process Communication) 기본 개념 (tistory.com) [Linux] IPC (Inter-Process Communication) 기본 개념 IPC란? 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다. 복수의 프로세스를 수행 및 프로세스 간 통신 구현 가능 1. Pipe (익명 PIpe) - 두개의 프로세스를 tjqud531531.tistory.com Shared Memory 공유메모리 id를 얻어와서 공유 메모리의 값을 하나씩..

LINUX/ABOUT LINUX 2022.10.28

[Linux] IPC (Inter-Process Communication) 기본 개념

IPC란? 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다. 복수의 프로세스를 수행 및 프로세스 간 통신 구현 가능 1. Pipe (익명 PIpe) - 두개의 프로세스를 연결하며 하나는 데이터를 쓰기만 할 수 있고 하나는 데이터를 읽기만 할 수 있다(반이중 통신) - 한쪽 방향으로만 통신이 가능하다. 따라서 송수신을 서로 하기 위해선 파이프를 2개 생성해야 한다 하지만 이렇게 파이 프를 두개로 구성할 경우엔 구현이 복잡해진다는 단점이 있다. - 익명 pipe는 통신할 프로세스가 누구인지 명확하게 알때 사용 하는 것 2. Pipe(Named Pipe) - 부모 프로세스와 무관하게 전혀 다른 모든 프로세스들 사이에서 통신 가능하다는 점이 익명 Pipe와의 차이다 - fif..

LINUX/ABOUT LINUX 2022.10.28

[Linux] OCI (Oracle Call Interface)

OCI란? Oracle call Interface 맞춤형 패키지 애플리케이션을 위한 오라클 데이터베이스에 대한 포괄적인 고성능 네이티브 C언어 인터페이스 이다. 구글링을 통해 oci 를 치면 2가지가 나오는데, 하나는 oracle call interface 이고 하나는 Oracle Cloud Infrastructure 이다 이 두개는 다른 것이니 구분 할 것 . Oracle Cloud Infrastructure은 클라우드 서비스를 구현하기 위해 필요한 기본적인 인프라 환경, 즉 컴퓨터 서버, 네트워크 , 스토리지, 보안, 자원 관리 등을 포함하는 오라클 클라우드 기반 환경을 의미하는것. 사실 Oracle Call Interface 는 구글링을 해도 잘 나오지 않는다. 영문 pdf를 번역하면서 내용을 이해..

LINUX/ABOUT LINUX 2022.10.28

[Linux] 내가 이해하기 위한 Pro*c 개념

Pro*c란? oracle RDBMS에 준비된 PRO*C 툴은 sql 문을 포함한 C프로그램을 ORACLE 데이터베이스 내에 있는 데이터 접근과 조작을 할 수 있는 C프로그램으로 변환하기 위한 것. PRO*C는 프리컴파일러기 때문에 입력 파일 내에 있는 EXEC SQL 문을 적당한 ORACLE 콜로 변환해서 출력 파일 작성. 이 출력 파일을 C프로그램에 대한 통상의 방법으로 컴파일 하고 링크해서 실행 모듈 작성 하는 것 RDBMS 관계형 데이트 베이스 ( 관계형 모델에 기반하는 데이터 베이스를 말 하는 것 ) · 데이터가 하나 이상의 열과 행의 테이블에 저장 · 테이블을 조인하여 정보 간 관계 또는 링크를 설정할 수 있는 기능이 있음. 관계형 모델 데이터를 로우와 컬럼을 이루는 하나 이상의 테이블로 정리..

LINUX/ABOUT LINUX 2022.10.27

[Linux] Pro*c 환경설정

PRO*C란? - C언어를 사용하여 데이터 베이스를 쉽게 관리할 목적으로 미국 오라클 사가 만든 프로그래밍 언어 - PL/SQL 과 같이 절차적 프로그래밍이 가능한 프로그램 도구로서 PL/SQL 처럼 오라클 내부에서 수행되는 프로그램이 아니라 실행 가능한 외부 프로그램으로 작성이 되어 관련 작업을 수행할 수 있게 해주는 도구 즉 PROC는 C언어 속 SQL문이라고 생각하면 쉬움 1. 사용자 계정 환경 설정 # su - oracle [ 오라클 계정으로 이동 후 ] * 나는 오라클 계정의 가장 상단에 makefile을 생성했지만 , 디렉토리 하나를 $ORACLE_HOME 루트나 다른 곳에 만들어 준 뒤 사용해주는 게 깔끔함 $ vi .bash_profile [ bash_profile에 아래와 같이PATH와 ..

LINUX/ABOUT LINUX 2022.10.27

[LINUX] pthread.h include 시 컴파일 에러 (소켓)

IPC 소켓 모델 프로그래밍에서 Thread 방식을 쓸 경우 . thread 서버 컴파일이 안되는 경우가 있다. Thread 방식으로 소통을 하려고 할 경우 서버관련 c 파일과 클라이언트관련 c 파일을 생성해야한다. 본인은 서버관련 c 파일의 이름을 Thread.c 라고 명명하였다. (이름은 아무렇게 해도 상관 없음 / 확장자만 잘 지켜주면됨) Thread.c 파일을 [gcc -o [컴파일이름][c파일이름]] 으로 컴파일을 시도 하였을때 아래와 같은 에러가 뜨게 된다. 내용을 살펴보면 'pthread_create'가 명확하지 않다고 나와있다. 1. Thread.c 파일 (서버c파일에) 인클루드 옵션을 살펴볼 것 - 아래와 같은 는 스레드 방식으로 소켓 소통을 할때 꼭 인클루드 시켜야 하는 헤더파일이다. ..

Rocky Linux 에 Oracle 19c 설치하기 ①

* 목적 - LINUX 를 서버로 활용하여 ORACLE의 본체를 설치함 (클라이언트에서 요청한 서비스를 제공하기 위한 목적) - WINDOW를 클라이언트로 활용하여 DB와 관련된 서비스를 요청 - 즉 서버와 클라이언트를 분리하여 연동시켜 데이터를 사용하고자 하는 목적 * 가장 먼저 LINUX 서버에 oracle 을 설치하여 서버 환경을 구축 해보자 ** 프로그램 설치는 root 계정에서 가능하므로 시작전에 su root 명령어를 통해 root계정에 접속하는 건 기본 ** 1. 리눅스에 오라클을 설치하기 위해선 아래 작업을 먼저 진행해주어야 한다. yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel ..

LINUX/ABOUT INSTALL 2022.10.12

Rocky Linux 에 Oracle(오라클)-19c 설치 : compat 오류

Rocky Linux 에서 오라클 DB 설치시 compat 파일로 인해 발생하는 문제점들을 해결하기 위한 단원 일반적으로 centOs나 Oracle Rinux에서 오라클 19c를 깔때 [root@localhost ~] # yum install http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 을 실행하면 됨. 하지만 rocky linux에서는 compat 패키지를 지원받지 못하기 때문에 이런 오류가 발생하게됨 . 이럴땐 centOs 에 있는 compat 패키지를 다운로드 받은 후 rocky linux에 옮겨놔야함 1. 리눅스 인터넷 창에 ce..

[LINUX] 기본 명령어 정리 ③

top ,ifconfig, ping , lsattr, chattr ,nm, vmstat, locale , hostname, su, find, grep 에 해당하는 리눅스 명령어 입니다 [top] top 실시간으로 CPU 사용률 체크해주는 도구 * 디바이스의 성능이나 리눅스 서버의 성능을 체크할 때 매우 유용 top top 실행 후 명령어 설명 shift +p CPU 사용률이 높은 프로세스 순서대로 표시 shift +m 메모리 사용률이 높은 프로세스 순서대로 표시 shift +t 프로세스가 돌아가고 있는 시간 순서대로 표시 -a 메모리 사용량에 따라 정렬 -c 명령행/프로그램 이름 토글 -h 도움말 [ifconfig] ifconfig 네트워크 인터페이스 설정하거나 확인하는 명령어 * ip주소, 서브넷마스크..

LINUX/ABOUT LINUX 2022.10.06

[LINUX] 기본 명령어 정리 ②

[ls] ls 디렉토리에 있는 내용(디렉토리, 파일) 리스트를 출력하는 명령어 ls [옵션] [디렉토리이름] 옵션 설명 -l 파일들을 나열할때 자세히 출력한다 -a 경로안의 모든 파일을 나열한다 -R 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력한다 -h 파일크기를 해석하기 편하게 출력 -r 출력 결과를 내림차순으로 정렬 -t 출력 결과를 파일이 수정된 시간 기준으로 정렬 [history] history 전에 사용한 명령어를 순서대로 확인할 수 있음 history (썼던 명령어가 전부다 나옴) 옵션 설명 ![숫자] 히스토리 번호로 명령을 수행 (단독 사용) ![단어] 단어가 포함된 명령어 히스토리가 나옴 (단독 사용) !! 바로 직전에 수행한 명령어 히스토리가 나옴 (단독 사용) -c 히스토리 삭제..

LINUX/ABOUT LINUX 2022.10.06
반응형