본문 바로가기

유닉스

(14)
[시스템프로그래밍] 프로세스 정보 이번 절의 목표는 유닉스 시스템에서 프로세스가 무엇인지 이해하고, 함수를 사용해 프로세스의 속성을 검색하며, 프로세스 실행 시간 측정 및 환경 변수를 설정하고 사용할 수 있게 되는 것입니다. 개요프로세스는 현재 실행 중인 프로그램을 의미합니다. 유닉스 시스템에서는 동시에 여러 프로세스가 실행됩니다. 프로세스는 계속 실행상태에 있지는 않으며, 실행에서 수면, 실행 대기 등 규칙에 따라 여러 상태로 변합니다. 현재 유닉스 시스템에서 실행 중인 프로세스를 확인하려면 ps, prstat, sdtprocess 명령을 사용합니다. 시스템에서는 프로세스를 식별하는 데 프로세스 ID(PID, Process ID)를 사용합니다. 관련 프로세스들이 모여 프로세스 그룹(Process group)을 구성합니다. 세션(sess..
[리눅스] 유닉스의 발전 과정 및 리눅스 역사 리눅스의 개요리눅스는 1991년 핀란드 헬싱키 대학의 리누스 토발즈(Linus Benedict Torvalds)라는 학생에 의해 만들어진 운영체제입니다. 당시 21살의 학생이었던 리누스 토발즈는 앤디 타넨바움(Andy Tanebaum)교수가 학생들의 학습을 주목적으로 개발한 미닉스(MINIX)를 사용하던 중에 유닉스와 호환되는 공개된 운영체제의 개발 계획을 MINIX 사용자 모임에 발표하였습니다. 그는 개발한 운영체제가 "단지 취미이며 GNU처럼 거대하거나 전문적인 것은 아니다."라고 프로젝트 초기의 의도를 밝혔습니다. - 초기 리눅스의 특징 -초기의 리눅스는 이식성이 고려되지 않은, 다만 i386계열에서 운영되는 유닉스 호환 운영체제를 목표로 하는 프로젝트였다.초기 버전 0.01은 가장 기본적인 커널만..
[시스템프로그래밍] 시스템 정보 유닉스 시스템과 관련된 기본 정보와 사용자 정보 검색, 시스템의 시간을 관리하는 함수를 다룹니다. 유닉스 시스템의 기본 환경 정보를 검색할 수 있는 함수들은 기본 환경과 관련된 구조체나 상수를 사용해 정보를 검색합니다. 주요 대상 정보는 하드웨어와 운영체제의 종류 관련 정보와 메모리 페이지의 크기나 최대 패스워드 길이 등 시스템 환경 설정에 관한 정보입니다. 아래 표에서 시스템 정보 검색 관련 함수를 소개합니다. 이중 sysinfo 함수를 사용하면 정보 검색 뿐만 아니라 호스트명 같은 일부 환경 정보를 설정할 수도 있습니다. sysconf 함수를 사용하면 시스템 자원 관련 정보를 검색할 수 있고, pathconf와 fpathconf 함수를 사용하면 파일과 디렉토리 관련 자원 정보를 검색할 수 있습니다. ..
[시스템프로그래밍] 유닉스 시스템 프로그래밍 개요 언어와 운영체제 그리고 프로그래밍 방법론에 따라 다양한 프로그래밍 방식이 있지만, 유닉스를 기반으로 한 시스템 프로그래밍에 대해서 알아보겠습니다. 시스템 프로그래머가 되려는 사람은 필수적으로 이 책의 내용을 공부해야 합니다. 유닉스 시스템 관리자가 되려는 사람도 이 책의 내용만큼은 기본적으로 이해아혹 있어야 합니다. 시스템 관리자도 직접 프로그램을 작성해 필요한 도구를 개발하기도 하고, 소스로 배포되는 소프트웨어를 컴파일해 설치해야 할 때도 있기 때문입니다. 유닉스 시스템에서 제공하는 시스템 호출과 라이브러리 함수를 사용해 시스템 프로그램을 작성하는 방법에 대해 알아보려고 합니다. 유닉스 시스템을 다루려면 대한 기본적인 이해와 C 언어를 이용해 프로그램을 작성할 수 있는 능력이 필요합니다. 유닉스 시스템..