목록리눅스 (21)
브래의 슬기로운 코딩 생활
파일 시스템 - 파일 처리 함수 1 파일 상태정보 추출 파일 상태 추출 fstat(), stat(), lstat()의 세 종류의 함수가 있음 지정한 파일에 대한 상태를 statbuf에 기록 fstat() : 파일기술자를 통해 상태정보를 추출 stat() & lstat()는 주어진 파일명(문자열)을 통해 상태정보를 추출 • stat()의 경우 링크 파일일 때 원본에 접근 • lstat()는 stat()와는 달리 주어진 파일 자체 정보를 추출 접근 위치 이동(L) 위치 이동(저수준) 함수 : lseek() • 파일의 접근 위치를 주어진 값으로 이동 • 파일 기술자를 통한 접근 방식 인자 : • fd : 파일의 기술자 • offset : 이동할 위치 • whence : 기준(SEEK_SET, SEEK_CUR,..
메모리 관리 - 기본 개요 메모리 관리 개요 메모리의 계층화 - CPU 연산결과가 기록되는 레지스터의 경우 빠른 입/출력이 가능 - 메모리의 읽고/쓰기의 속도는 가격에 비례 - 효율적 메모리 사용을 위해 속도와 용량의 관계를 두고 계층화 메모리의 제어 레지스터와 캐시는 CPU 제조사에 의해 접근 방식이나 데이터의 기록 방식이 하드웨어적으로 구현됨 주기억 장치와 보조 기억 장치의 데이터 구조 및 저장 방식은 소프트웨어적으로 구현됨 - 주 기억 장치 = 운영체제의 메모리 관리 - 보조 기억 장치의 저장 방식 = 파일 시스템, 가상메모리 프로세스를 위한 메모리 접근 프로세스 - 메모리에 적재되어 주기적으로 CPU를 점유하여 실행 상태에 진입이 가능한 것 - 소위, 메모리에 명령들(instructions set..
기타: 에디터 및 컴파일 파일 내용 보기 명령들 명령어: cat [파일명] 지정한 파일의 내용을 화면에 출력 명령어: more [파일명] 지정한 파일의 내용을 화면에 출력 / 화면 단위로 출력(페이지 넘김: 스페이스바키) 명령어: tail [-###] [파일명] 지정한 파일에 대하여 뒤에서 ###(숫자)의 행만큼 출력 명령어: head [-###] [파일명] 지정한 파일에 대하여 앞에서 ###(숫자)의 행만큼 출력 텍스트 파일 에디터 PICO 에디터 - Nano 에디터라고도 함(v4.0부터 명명 nano로 바뀜) - 단순한 형태의 파일 편집 기능을 제공 - 리눅스계열의 다양한 배포판에서 기본 탑재된 프로그램 명령어: pico {파일명} - 저장: [Ctrl + O] - 끝내기: [Ctrl + X] VI ..
스케줄링 및 IPC - 스케줄링 개요 스케줄링 개요 개념 프로세스들에 대하여 CPU에 할당 기회를 결정하고 수행하는 과정 프로세스가 작업을 처리하기 위해 CPU 할당을 위한 일정을 처리 목적 모든 프로세스들에게 공정하게 배정 - 공평성 단위 시간당 최대한 많이 처리 - 처리율 극대화 - 빠른 응답 - 오버헤드 최소화 - 프로세스 무한대기 최소화 필요성 작업(프로세스)은 주어진 일을 수행하기 위해 다양한 자원(resource)을 사용 - 자원 예: CPU, memory, storage, network, file, I/O etc. - 자원의 특징 : 유한함 CPU는 작업(프로세스) 단위로 처리 작업의 개수가 많아지면 자원들을 선점하기 위한 경쟁이 필요 작업 간의 효율적인 자원의 할당 및 공유를 위한 관리자가..
프로세스 관리 실습환경 구축 가상 머신(Virtual Machine) - 게스트 운영체제의 동작 환경을 제공하는 가상의 하드웨어 환경을 제공 - 실습용 가상 머신 : VirtualBox • 다운로드: https://www.virtualbox.org/ 운영체제 - 리눅스 배포판을 통한 운영체제 기능을 실험 - 실습용 운영체제 : Debian Linux (버전: 11.5) • 데이반 리눅스계열로 각종 해킹 관련 툴들이 포함된 리눅스 배포판 • 다운로드: https://www.debian.org/ 실습을 위한 환경 설정 쉘 변경 • 명령어: chsh 프로세스 상태 제어 실습 실습 준비 가상머신: VirtualBox 운영체제: 데비안 리눅스(Debian Linux) 정지(휴식) 상태 실습 명령어: ps • 프로..
운영체제 개요 - 운영체제 구조와 종류 커널과 인터페이스 커널(Kernel) - 운영체제의 핵심(Core) - 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 필수 기능을 모아놓은 것 인터페이스(IF: Interface) - 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할 - GUI(Graphical User Interface) : 그래픽을 기반한 사용자 인터페이스 - CLI(Command Line Interface) : 텍스트기반의 사용자 인터페이스 (TUI와 다름) 시스템 호출 시스템 호출 - System Call - 컴퓨터의 자원을 이용하기 위해 사용자 인터페이스 또는 응용프로그램이 커널에게 접근하기 위한 수단 - 컴퓨터자원의 효율적인 보호 - 표준화된 접근 직접..
NOS 1 - 리눅스 3 : 서버 및 설정 Apache 서버 아파치 웹 서버 - 데몬 명: HTTPD - 웹서비스(WWW) 기능을 제공하는 서버프로그램 - 아파치 소프트웨어 재단에서 제공하는 오픈 소스기반의 소프트웨어(1995.04 ~) - 다양한 유닉스 계열 및 윈도우 운영체제를 지원 • 전세계 시장 점유율 40% 이상 - 보안성 강화를 위한 별도의 서비스도 제공 - TCP 포트 번호 • 일반 : HTTP, TCP/80 • 보안 : HTTPS, TCP/8080 서버 설정 - 설정 파일 • 파일명: httpd.conf • 사용자 정의 설정: -f 옵션 활용 • 추가 설정 파일: httpd.conf내 Include 지시어를 통한 다양한 파일 분리 가능 - 주소와 포트 설정 • Listen 지시어 활용\ ..
오늘은 VMWare 말고 윈도우 파워셸로 WSL2를 설치하고 Docker라는 걸 설치해서 윈도우에서 리눅스를 하는 실습을 했다. Docker docker tag httpd-egyou:latest /httpd:latest /httpd : docker login id가 이미지 이름이 httpd로 변경 docker push /httpd wsl2 : windows subsystem for linux 2 process : 실행 중인 프로그램 ps (process status) 이미지 실행 -> 컨테이너 생성, 실행 docker run --name egyou -d -p 8090:80 httpd:latest 컨테이너와 대화형으로 작업 docker exec -it egyou /bin/bash # cd /usr/loca..
NOS 1 - 리눅스 2 : 언어 설정 언어 설정 - 언어 설정 필요성 X윈도우 기반에서는 멀티바이트용 각종 언어용 폰트가 존재 CLI 기반은 ASCII 기반의 문자 폰트만 존재 -> 영문자(Alphabet)만 존재 • CLI를 사용하기 위해서는 영문으로 변경할 필요가 있음 명령 순서 1. 관리자 권한 로그인 • 처음에 root 계정으로 로그인 또는 “comso” 계정으로 로그인한 후 “su –” 명령을 실행 2. 작업 터미널 언어 변경 • 명령어: LANG=EN 반드시 붙여서 쓸 것(띄어쓰기 없음!!) 3. 시스템 언어 변경 명령 실행 • 명령어: dpkg-reconfigure locales 4. 재부팅 • 명령어: shutdown –t3 –r now: 명령 입력 후 3초 후 재부팅 실행 시스템 언..