전체 글(171)
-
프로세스 및 스케줄링
프로세스 및 스케줄링 1. 프로세스의 정의 - CPU에 의해 처리되는 사용자 프로그램, 실행중인 프로그램, 작업 (Job), 테스크(Task) - 프로세서 -> 프로세스 -> 프로시저 - 프로시저가 활동중인 것 - 비동기적 행위를 일으키는 주체 (이유 : 다수의 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것)을 말함 - 운영체제가 관리하는 실행 단위 - PCB를 가진 프로그램 - 실기억장치에 저장된 프로그램 2. PCB (프로세스 제어 블록) 저장정보 설명 프로세스 고유 식별자 고유 번호 프로세스의 현재 상태 준비 / 대기/ 실행 프로그램 카운터 실행될 명령어의 주소를 가지고 있는 레지스터 CPU 레지스터 정보 누산지, 인덱스, 레지스터, 범용 레지스터 등에 대한 정보 스케줄링 및 ..
2023.02.22 -
기억 장치
기억 장치 1. 기억장치의 관리 전략 - 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위함 - 반입(Fetch), 배치(Placement), 할당(Allocation), 교체(Replacement) 2. 반입 (Fetch) 전략 * 언제 (When) - 요구 반입 (Demand Fetch) : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 - 예상 반입 (Anticipatory Fetch) : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상 3. 배치(Placement) 전략 * 어디 (Where) - 최초 : 첫 번째 분할 영역 - 최적 : 단편화를 가장 적게 남기는 분할 ..
2023.02.22 -
[GIT] 원격 저장소와 로컬저장소 생성 및 연결
프로젝를 진행하면서 중간중간 업데이트 사항을 저장해야 한다. 그래야 어떠한 일이 생겨도 내 작업물을 잃어버리지 않을 수 있다. 원리는 다음과 같다. 작업물 --> 로컬 저장소에 저장 --> 원격 저장소에 저장 로컬 저장소 (local)와 원격 저장소 (remote) - git 저장소는 로컬 저장소와 원격 저장소로 나누어진다. local에서 작업한 내용은 remote로 push 해줘야지 서버에 반영된다. git add - git add는 다음 변경(commit)을 기록할 때까지 변경분을 모아놓기 위해서 사용 - 즉, git commit을 하기 전까지는 Git 저장소는 아무 변경이 일어나지 않는다. git status - git status는 add와 함께 사용한다. 작업 디렉토리(working direct..
2023.02.22 -
운영체제
운영체제 1. 운영체제 (OS : Operating System) 의 정의 컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있게 환경을 제공하는 여러 프로그램의 모임 2. 운영체제의 목적 - 처리능력 - 반환 시간 - 사용 가능도 - 신뢰도 3. 운영체제의 기능 - CPU, 메모리 공간, 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원 관리 - 다중 사용자와 다중 응용프로그램 환경 하에서 현재 상태를 파악하고 자원을 효율적으로 분배 및 관리하기 위해 스케줄링 기능 제공 - 사용자와 시스템 간의 편리한 인터페이스 제공, 입출력 장치와 사용자 프로그램 제어 - 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공 - 시스템의 오류 검사 및 복구, 자..
2023.02.21 -
포인터 / 스크립트 언어 / 선언형 언어
포인터 1. 포인터와 포인터 변수 - 포인터란 ? 변수의 주소 - C언어에서 변수의 주소를 저장할 때 사용하는 변수 - 포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수\ * 포인터 변수를 선언할 때는 자료형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙인다. ---> int *a; * 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙인다 ---> a = &b; * 실행문에서 포인터 변수에 간접 연산자 * 를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말한다. ---> c = *a; 2. 포인터와 배열 - 배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근이 가능하다 - 배열 요소에 대한 주소를 지정할..
2023.02.21 -
배치 프로그램 / 패키지 소프트웨어
배치(Batch) 프로그램 * 사용자와 상호작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것 1. 이벤트성 배치 : 특정 이벤트 설정해서 조건이 충족될 때만 수행 2. On-Demand 배치 : 사용자 요청시 3. 정기 배치 : 정해진 시간 필수 요소 설명 대용량 데이터 자동화 견고성 데이터 오류나 데이터 중복 등의 상황으로 중단되는 일이 없어야 함. 안정성/신뢰성 오류 발생시 위치, 시간 등의 추적이 가능해야 한다. 성능 다른 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료되어야 한다. # 대자견안성 2. 배치 스케줄러, 잡 스케줄러 - 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구 *** 스프링 배치(Spring Batc..
2023.02.21