Linux
[파일입출력] 2. read()로 파일 읽기
지난 번 파일을 열었다면, 이번엔 열려있는 파일을 읽어보겠습니다. 가장 대표적인 저수준 파일 입출력에서는 POSIX에 정의된 read() 시스템 콜을 사용하여 파일을 읽어 들이는데요, 파일 오픈 시 사용했던 파일 디스크립터 기억나시나요? fd가 참조하는 파일의 오프셋에서 len 바이트만큼 buf로 읽어 들이게 됩니다. 먼저, read() 시스템 콜의 원형과 인자를 확인해 봅시다. #include ssize_t read (int fd, void *buf, size_t len) 입력 인자 int fd open() 시스템 콜로 열린 파일을 가리키는 파일 지정 번호 void* buf 파일에서 읽은 데이터를 저장할 메모리 공간 len 읽을 데이터의 크기(Byte 단위) 반환값 ssize_t 파일 읽기 성공 : 0..
[파일입출력] 1. 파일열기
리눅스는 거의 모든 것을 파일로 표현하고, 파일로 다룬다.그렇기에 리눅스 시스템 프로그래밍에서 파일 입출력은 굉장히 중요한 부분이다. 파일을 다루는 가장 기본적인 리눅스 시스템 콜을 하나씩 알아볼 것이다. 파일을 조작(읽거나 쓰는) 하기 전에 반드시 열어야 한다. 리눅스 커널은 파일 테이블이라고 하는 프로세스 별로 열린 파일들을 관리한다.이때 이 파일들은 파일 디스크립터로 인덱싱되어 관리된다. 파일 디스크립터는 종종 fd 라고도 많이 불리는데, 이 테이블에는 다양한 파일의 정보가 담겨있다.이 파일 디스크립터는 사용자 영역과 커널 영역 모두에서 프로세스 내의 고유한 식별자로 사용된다. 먼저 파일을 열기 위한 방법에 대해 알아보자. 파일에 접근하는 가장 기본적인 방법은 read(), write()등의 시스템..
Ubuntu 14.04 64bit adobe flash install
리눅스를 사용하다보면 Adobe flash가 필요한 경우가 있다. 동영상을 보는 등의 일을 할 때 Adobe Flash가 없어 불편을 겪었던 적이 있을 겁니다. 우분투 14.04에서 Adobe Flash를 설치하는 방법에 대해 알아보겠습니다. Step 1> vi를 이용하여 아래 경로의 파일을 열어봅시다./etc/apt/sources.list 위 경로의 sources.list 파일을 열면 아래와 같은 화면이 보일 것입니다. 자세히 보면 위 파일 안에 아래와 같은 목록이 보일 것입니다. Step 2> deb http://archive.canonical.com/ubuntu trusty partnerdeb-src http://archive.canonical.com/ubuntu trusty partner 원래는 ..
VMware 에 CentOS 7 Server 설치하여 사용하기
리눅스 서버 관리에 대해 공부하기 전에 먼저 학습환경을 설치하고 시작해야겠죠?? 저는 vmware를 사용하여 Cent OS에서 서버관리 학습을 할 생각입니다. 먼저 vmware 설치는 아래 접속하셔서 하시면 됩니다. ^^ [VMWare 설치하기!] 설치할 Cent OS 7을 다운로드 합시다. 다운로드를 바로 할 수 있는 URL은 아래 있습니다. [ CentOS 다운받기!] 위의 URL을 클릭하시면 아래와 같은 화면의 창을 볼 수 있습니다!! 그런 여기서 DVD ISO를 선택하여 다음 창으로 넘어가도록 합니다. 아래 화면으로 넘어오면 다운받을 곳을 선택하게 되는데 가까우면 가까울수록 다운속도 또한 빠르겠죠^^ 저는 평소에도 Daum과 kaist의 ftp서버를 애용한답니다 !! 전 Daum에서 다운 받았습니..
VMWare Workstation 10 설치하기
VMWare Workstation은 많은 이용자들이 가상 OS에서 작업하기 위해 사용하는 툴입니다. 구하기도 쉽고, 설치하기 간편하며 사용 또한 편리하여 많은 이용자들이 이용하는데요,간단하게 VMWare 설치하는 방법에 대해서 설명해 드리겠습니다. 여기서는 VMWare Workstation 10 버전의 설치를 알려드립니다. 먼저 VMWare 10의 설치파일을 구해야 합니다. 아래 URL에서 다운받으시면 됩니다 ^^. [다운로드 경로] : VMWare WorkStation 10 다운로드! 다운 받으셨으면 설치파일을 실행하여 설치를 시작합니다. 설치 파일을 실행하시면 아래와 같은 화면을 보실 수 있습니다. ^^Next 버튼을 꾸욱 눌러주세요. 다음은 라이센스 동의 화면입니다. ^^ 당연히 설치 하실려면 동의..
[Linux Kernel] 프로세스 상태 분석
리눅스에서 프로세스의 상태를 한번 알아보겠습니다. 프로세스에 대해서는 앞에서도 간단히 설명 드렸습니다. 실행중인 프로그램이라고 단순히 설명 할 수 있습니다. 이러한 프로세스들은 여러가지의 상태를 가지게 되는데, 이 상태들에 대해 오늘 한번 알아보겠습니다. 구글에 검색해 보면 많은 사람들이 자료를 블로깅해 놓았을텐데, 보면 다들 분류하는 상태의 갯수가 다른 것 처럼 보입니다. 하지만 크게 보시면 시스템의 프로세스는 5가지의 상태를 가지게 됩니다. 1179 struct task_struct { 1180 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ 1181 void *stack; 1182 atomic_t usage; 1183 unsigne..