728x90
728x90
# 메모리란메인 메모리, RAM을 의미한다.프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간 메모리 관리가 필요한 이유메모리 관리는 컴퓨터 시스템의 안정성과 성능을 유지하기 위해 꼭 필요한 작업이다. 시스템 자원의 효율적 분배컴퓨터는 물리 메모리(RAM)가 한정되어 있으므로, 여러 프로그램이 동시에 실행되더라도 각각에게 적절한 크기의 메모리를 효율적으로 나누어줘야 한다. 이를 제대로 관리하지 않으면 특정 프로그램이 과도하게 메모리를 차지하거나, 다른 프로그램의 메모리 공간을 침범해 시스템 전체의 오류를 일으킬 수 있다. 프로세스 간 보호다른 프로그램의 메모리 공간 침범이 시스템 전체의 오류를 일으키는 이유는 각 프로그램(프로세스)은 자신만의 메모리 공간을 가져야하기 때..
터미널 기본 명령어 기본 명령어명령어설명pwd현재 위치 확인ls -l현재 디렉토리 내용 확인cd [폴더명][폴더명] 으로 이동cd ..이전 디렉토리로 이동touch [파일명]파일 하나 생성rm [파일명]파일 삭제mkdir [폴더 이름]디렉토리 생성텍스트 검색 및 처리명령어설명grep [패턴] [파일]파일에서 특정 문자열(패턴) 검색예: grep error logfile.txtgrep -r [패턴] [디렉토리]디렉토리 내 모든 파일에서 재귀적으로 검색awk '{print $1}' [파일]파일의 각 줄에서 첫 번째 필드 출력예: awk '{print $2}' access.logawk -F',' '{print $1}' [파일]구분자를 쉼표(,)로 설정해 필드 출력sed 's/old/new/' [파일]첫 번째 ..
스레드(Thread)어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 방식을 멀티 스레드(MultiThread) 라고 한다. 프로세스 vs 스레드멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도가 빠르다. 멀티스레드 단점각각의 스레드 중 어떤 것이 먼저 실행될지 그 순서를 알 수 없다. 예를 들어,두 스레드가 특..
프로세스 관리운영체제는 자원을 프로세스에 할당하고, 프로세스가 정보를 공유와 교환을 가능하게 하며, 각 프로세스 자원을 다른 프로세스로부터 보호 하고, 동기화를 통해 협력을 가능하게 한다. 이러한 요구를 중족하기 위해 운영체제는 각 프로세스를 위한 자료 구조를 관리한다. 이를 통해, 프로세스의 상태와 자원 소유권을 기술할 수 있으며, 운영 체제는 각 프로세스를 효율적으로 감시하고 제어할 수 있다. 즉, 운영체제가 수행하는 핵심 기능 중 하나로, 시스템에서 실행 중인 모든 프로세스를 효율적으로 생성하고, 실행하고, 종료하며, 자원을 분배하고, 상태를 관리하는 것을 말한다. 주요기능기능설명프로세스 생성 및 종료새로운 프로세스 생성 (fork, exec), 작업 완료 후 종료 (exit)스케줄링CPU를 ..
터미널이란상용자와 컴퓨터 운영체제(OS)가 텍스트 기반으로 소통할 수 있도록 해주는 입출력 인터페이스 이다.명려어(Command)를 입력하면 컴퓨터가 그에 따라 작업을 수행GUI(그래픽 사용자 인터페이스) 없이 키보드만으로 조작운영체제의 내부 기능, 파일 관리, 프로그램 실행 등을 빠르게 제어 가능 터미널을 통해 할 수 있는 것디렉토리 이동 cd /home/user파일 목록 보기 ls파일 생성/삭제 touch file.txt, rm file.txt프로그램 실행 python script.py서버 접근 (원격 접속) ssh userserver.com패키지 설치/관리 apt instal, brew install 터미널 vs 쉘 vs 콘솔용어설명터미널사용자와 시스템 사이의 텍스트 기반 입출력 창쉘사용자의 명령을..