본문 바로가기

OS 운영체제42

grep (패턴 맞춤 출력 명령) 00 개요grep 명령어는 텍스트 검색 기능을 가진 명령어즉, 파일에서 특정 패턴을 검색하는 데 사용되는 강력한 도구로, 리눅스/유닉스 환경에서 주로 활용됨개발자나 시스템 관리자는 로그 파일 분석, 대규모 텍스트 데이터 처리 등 다양한 작업에서 효율적으로 grep를 사용해 데이터를 검색할 수 있음다음은 grep 명령어의 정의, 기능, 문법, 및 다양한 옵션들에 대한 정리01  grep 명령어란1. grep 정의"global regular expression print"의 약자텍스트 파일 내 정규 표현식 (Regular Expression)이나 단어를 기반으로 패턴을 찾아 출력하는 명령어grep을 활용하여 파일에서 특정 패턴이 포함된 줄을 빠르게 검색 가능2. grep 명령어 기능텍스트 검색: 파일 내에서.. 2024. 10. 17.
PID (프로세스 식별자) 00 개요회사에서 코드분석 중, PID가 3보다 작은지 확인하고, 3보다 작다면 해당 process가 실행중이지 않는다는 메세지를 출력하는 스크립트가 있음PID가 3보다 작은지 여부를 확인하는 이유에 대한 정리01 PID란1. 정의프로세스 식별자 (Process ID)운영 체제에서 각 프로세스에 고유하게 부여되는 식별 번호운영 체제에서 실행되는 모든 프로그램은 프로세스 형태로 관리되며, 이 프로세스들은 각각 PID를 통해 구별됨2. 역할고유한 식별자: PID는 운영 체제 내에서 실행 중인 프로세스를 고유하게 식별 가능케 함. 각 프로세스는 다른 프로세스와 구별되기 위해 고유한 PID를 가짐프로세스 관리: PID는 시스템 관리자나 사용자가 프로세스를 추적하거나 제어할 때 필요함. 예) 특정 프로세스를 종료.. 2024. 9. 20.
awk (텍스트 조작 명령어) 00 개요 01 awk란1. 정의Aho, Weinberger, Kernighan이 만든 프로그래밍 언어 및 명령어텍스트 파일이나 명령의 출력에서 데이터를 추출하고, 필터링하고, 조작하는 데 유용주로 로그 파일 분석, 데이터 처리, 텍스트 변환 등의 작업에 활용2. 문법awk '패턴 { 액션 }' 파일명awk '패턴 { 액션 }'패턴: awk가 처리할 라인의 조건액션: 패턴이 일치하는 라인에 대해 수행할 작업파일명: 데이터를 처리할 파일3. 예시sample.txt라는 파일에서 특정 조건에 맞는 행을 출력하기awk '$3 > 50 { print $1, $3 }' sample.txt반환값: 파일에서 세 번째 필드의 값이 50보다 큰 행을 찾아 첫 번째와 세 번째 필드를 출력4. 기능1) 필드 구분awk는 기본.. 2024. 9. 20.
고급 이론 용어 정리-동시성, 병렬성, 원자성, 의존성 00 개요운영 체제 관련 고급 이론을 이해하기 위한 기초적인 용어 정리동시성, 병렬성, 원자성, 의존성 (+ 동기화, 교착상태/데드락)정의Concurrency, Parallelism, Atomicity, Dependency (+ Synchronization, Deadlock)이 개념들은 특히 다중 스레드나 병렬 처리가 중요한 컴퓨터 과학에서 핵심적인 개념 참조한 강의: https://www.youtube.com/watch?v=-C4j7DpUtLs&list=PLXvgR_grOs1BQCziQ_MpM877BdBxwbMzA&index=1601 동시성1. 정의여러 사람이 여러 일을 각자 동시에 할 수 있는 상태여러 작업이나 프로세스를 동시에 처리하는 시스템의 능력으로, 엄밀히 말하자면 작업이 동시에 실행되는 것은.. 2024. 9. 7.
bitmask (비트마스크) 00 개요회사에서 코드분석 중 비트 연산(bitwise operation)을 사용하여 값의 유효성을 검사함특정 비트 패턴을 검사하는 방식은 컴퓨터 과학 및 시스템 프로그래밍에서 자주 사용됨예) 플래그 값의 유효성 확인, 권한 체크, 또는 상태 플래그의 유효성 검사 등이에 대한 정리!01 비트마스크 (bitmask)란1. 정의이진수(bit)로 구성된 값을 사용하여 특정 비트들을 선택 또는 수정하는 기법주로 비트 단위의 논리 연산(AND, OR, XOR, NOT)을 통해 특정 플래그나 설정을 제어하는 데 사용됨2. 주요 개념1) 비트 연산연산 종류설명AND 연산 (&)두 비트가 모두 1일 때만 1을 반환특정 비트를 선택 또는 확인 시 사용OR 연산 (|)두 비트 중 하나라도 1이면 1을 반환특정 비트를 설정.. 2024. 9. 5.
failover (자동 전환) 00 개요어느 서비스 프로그램의 아키텍처 구성을 설계 시 사용될 수 있는 failover이라는 기술에 대한 정리01 failover 이란Failover: 시스템 가용성을 위한 필수 기술1. 정의Failover는  주 시스템이 장애를 일으켰을 때, 백업 시스템으로 자동으로 전환하여 서비스의 연속성을 유지하는 기술중요한 시스템이 예상치 못한 문제로 인해 중단되지 않도록 보장하는 방법컴퓨터 시스템, 네트워크, 또는 데이터베이스 등에서 주로 사용되는 고가용성(High Availability) 기술 중 하나2. 동작 원리주 시스템(Primary System): 평소에는 모든 작업을 처리하는 주요 시스템백업/예비 시스템(Backup/Standby System): 주 시스템에 장애 발생 시 즉시 활성화됨. 주 시스템.. 2024. 8. 27.
오버헤드 (Overhead) 00 개요CPU 사용 시간에 관해 알아볼 때 오버헤드(overhead)라는 개념이 나와서 이에 대한 정리오버헤드를 최소화하는 것이 시스템 성능을 최적화하는 데 중요한 역할을 함개발자는 항상 오버헤드를 고려하여 시스템을 설계하고 최적화하는 것이 중요01 오버헤드(Overhead)란1. 정의오버헤드는 시스템에서 주어진 작업을 수행하기 위해 필요한 추가적인(간접적인) 자원 (메모리 등)이나 시간 비용을 의미 이는 프로세스나 프로그램이 본래의 목표를 달성하기 위해 반드시 필요한 부분은 아니지만, 작업을 지원하기 위해 불가피하게 발생하는 부가적인 작업즉, 반드시 존재함 2. 개념 설명오버헤드는 주로 컴퓨터 시스템의 성능을 저하시킬 수 있는 요소 여겨짐효율적인 시스템 운영을 위해 오버헤드를 최소화하는 것 중요 예를.. 2024. 8. 26.
LINUX 명령어 및 연산자 ls Lists a directory’s content pwd Shows the current working directory’s path cd Changes the working directory mkdir Creates a new directory rm Deletes a file cp Copies files and directories, including their content mv Moves or renames files and directories touch Creates a new empty file file Checks a file’s type zip and unzip Creates and extracts a ZIP archive tar  'tape archive', works with Ar.. 2024. 8. 15.
shared memory (공유 메모리) 00 개요운영체제에서의 공유 메모리에 대한 정리 01 shared memory (공유 메모리)란1. 정의 및 사용공유 메모리는 IPC(Inter-Process Communication)의 한 가지 방법으로 프로세스간 통신이 필요할 경우 사용공유 메모리를 통한 통신은 둘 이상의 프로세스가 공통 메모리에 액세스 할 수 있는 개념으로 한 프로세스에서 변경한 메모리 공간의 내용을 다른 프로세스에서 접근 가능공유 메모리의 생성 요청은 최초 공유 메모리 영역을 만드는 프로세스가 커널에 공유 메모리 공간의 할당을 요청함으로써 이루어지며 만들어진 공유 메모리는 커널에 의해서 관리됨 만들어진 공유 메모리는 시스템을 리부팅하거나 직접 공유 메모리의 공간을 삭제시키지 않는 한, 공유 메모리를 사용하는 모든 프로세스가 없어졌.. 2024. 8. 15.