· OS
파일하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합속성, 메타데이터- 파일의 이름, 파일을 실행하기 위한 정보파일 속성과 유형속성 이름의미유형운영체제가 인지하는 파일의 종류크기파일의 현재 크기와 허용 가능한 최대 크기보호어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지생성 날짜파일이 생성된 날짜마지막 접근 날짜파일에 마지막으로 접근한 날짜마지막 수정 날짜파일이 마지막으로 수정된 날짜생성자파일을 생성한 사용자소유자파일을 소유한 사용자위치파일의 보조기억장치상의 현재 위치 파일 유형대표적인 확장자실행 파일없는 경우, exe, com, bin목적 파일obj, o소스 코드 파일c, cpp, cc, java, asm, py, js워드 프로세서 파일xml, rtf, doc, docx라이브..
· OS
스와핑프로세스를 임시로 보조기억장치로 보내고, 해당 빈 공간에 또 다른 프로세스를 적재하여 사용프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 실행할 수 있음스왑 영역- 프로세스들이 쫓겨가는 보조기억장치의 일부 영역스왑 아웃- 현재 실행되지 않는 프로세스가 메모리에서 스왑영역으로 옮겨지는 것스왑 인- 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것- 스왑 아웃되기 전의 물리 주소와는 다른 주소에 적재될 수 있음 메모리 할당최초 적합메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방법검색을 최소화할 수 있고, 빠른 할당이 가능함최적 적합운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간..
· OS
교착 상태일어나지 않은 사건을 기다리며 진행이 멈춰버리는 현상서로 상대의 자원을 기다리기만 하다가 아무것도 못해버리는 현상자원 할당 그래프프로세스가 어떤 자원을 사용하고 있고, 또 어떤 프로세스가 어떤 자원을 기다리고 있는지 표현하는 간단한 그래프교착 상태가 발생한 상황은 자원 할당 그래프가 원의 형태를 띠고 있음프로세스는 원으로, 자원은 사각형으로 표현사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화살표로 표시프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원으로 향해 화살표로 표시교착 상태 발생 조건상호 배제- 해당 자원을 한 번에 하나의 프로세스에만 이용 가능했기 때문임- 한 프로세스가 사용하는 자원을 다른 프..
· Git
git에 대한 간단 정리 git 설치 방법 (Mac) 1. 터미널 실행 2. 다음과 같은 명령어 입력 sudo brew install git 2.2 brew가 설치되지 않았다면 https://brew.sh에 접속하여 homebrew 설치 Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 3. password: ? 가 나올경우, 컴퓨터의 암호를 입력하고 Enter 4. 설치가 자동으로 완료된다. 모든 명령어들 정리 1. 디렉토리 이동 (대상 폴더 변경) // 1. 현재 경로 출력 $ pwd // 2. 부모 디렉토리로 이동하기 $ cd .. // 3. 해당하는 디렉토리로 이동하기 $ cd [디렉토리명] // 4. 홈 디렉토리로 이동하기 $..
· OS
파일하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합속성, 메타데이터- 파일의 이름, 파일을 실행하기 위한 정보파일 속성과 유형속성 이름의미유형운영체제가 인지하는 파일의 종류크기파일의 현재 크기와 허용 가능한 최대 크기보호어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지생성 날짜파일이 생성된 날짜마지막 접근 날짜파일에 마지막으로 접근한 날짜마지막 수정 날짜파일이 마지막으로 수정된 날짜생성자파일을 생성한 사용자소유자파일을 소유한 사용자위치파일의 보조기억장치상의 현재 위치 파일 유형대표적인 확장자실행 파일없는 경우, exe, com, bin목적 파일obj, o소스 코드 파일c, cpp, cc, java, asm, py, js워드 프로세서 파일xml, rtf, doc, docx라이브..
· OS
스와핑프로세스를 임시로 보조기억장치로 보내고, 해당 빈 공간에 또 다른 프로세스를 적재하여 사용프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 실행할 수 있음스왑 영역- 프로세스들이 쫓겨가는 보조기억장치의 일부 영역스왑 아웃- 현재 실행되지 않는 프로세스가 메모리에서 스왑영역으로 옮겨지는 것스왑 인- 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것- 스왑 아웃되기 전의 물리 주소와는 다른 주소에 적재될 수 있음 메모리 할당최초 적합메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방법검색을 최소화할 수 있고, 빠른 할당이 가능함최적 적합운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간..
· OS
교착 상태일어나지 않은 사건을 기다리며 진행이 멈춰버리는 현상서로 상대의 자원을 기다리기만 하다가 아무것도 못해버리는 현상자원 할당 그래프프로세스가 어떤 자원을 사용하고 있고, 또 어떤 프로세스가 어떤 자원을 기다리고 있는지 표현하는 간단한 그래프교착 상태가 발생한 상황은 자원 할당 그래프가 원의 형태를 띠고 있음프로세스는 원으로, 자원은 사각형으로 표현사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화살표로 표시프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원으로 향해 화살표로 표시교착 상태 발생 조건상호 배제- 해당 자원을 한 번에 하나의 프로세스에만 이용 가능했기 때문임- 한 프로세스가 사용하는 자원을 다른 프..
· OS
동기화프로세스들 사이의 수행 시기를 맞추는 것1. 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기2. 상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 생산자와 소비자 문제생산자, 소비자 프로세스를 제대로 동기화 하지 않을 경우-> 이상한 값이 계산 될 수 있음동시에 접근하면 안되기 때문임공유 자원과 임계구역공유 자원- 공동으로 이용하는 변수, 파일, 장치 등의 자원임계 구역- 동시에 실행하면 문제가 발생하는 자원레이스 컨디션- 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생 지켜져야 하는 3가지 원칙상호 배제- 한 프로세스가 임계 구역에 들어왔다면 다른 프로세스는 들어올 수 없음진행- 임계 구역에 어떤 프로세스도 진입하지 않았다면 임계 구역에 진..
· OS
CPU 스케줄링공정하고 합리적으로 CPU 자원을 배분하는 것 프로세스 우선순위입출력 집중 프로세스- 입출력 작업이 많은 프로세스- 실행 상태보다 입출력을 위한 대기 상태에 더 많이 머무르게됨CPU 집중 프로세스- 복잡한 수학 연산, 컴파일, 그래픽 처리 작업이 많은 프로세스- 대기 상태보다 실행 상태에 더 많이 머무르게됨CPU 버스트, 입출력 버스트- 프로세스는 일반적으로 CPU 버스트와 입출력 버스트를 반복하며 실행우선순위 부여- 프로세스 중요도에 맞게 CPU가 이용할 수 있도록 운영체제가 우선순위를 부여스케줄링 큐프로세스들을 줄을 세워 관리하는 것준비 큐- CPU를 이용하고 싶은 프로세스들이 서는 줄대기 큐- 입출력장치를 이용하기 위해 대기 상태에 접어든 프로세스들이 서는 줄 선점형 & 비선점형 스케..
· OS
프로세스를 직접 확인하는 방법 윈도우 = 작업 관리자 - 프로세스 유닉스 - ps 명령어 포그라운드 프로세스: 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스: 사용자가 보지 못하는 뒤편에서 실행되는 프로세스 - 윈도우 = 서비스 - 유닉스 = 데몬 프로세스 제어 블록 (PCB) 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리, 프로세스에 CPU를 비롯한 자원을 배분 프로세스와 관련된 정보를 저장하는 자료 구조 프로세스 ID (PID) - 특정 프로세스를 식별하기 위해 부여하는 고유한 번호 - 같은 일을 하는 프로그램이라도 2번 실행한다면 다른 PID가 부여됨 레지스터 값 - 이전까지 사용했던 레지스터의 중간값들을 모두 복원 - PCB 안에는 해당 프로세스가 실행하며 사용했던 프로그램 카운..
· CA
장치 컨트롤러 장치 컨트롤러를 다루기 까다로운 이유 입출력장치에는 종류가 매우 많음 - 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어려움 입출력장치의 데이터 전송률은 낮은 편 - 전송률: 얼마나 빨리 데이터를 교환할 수 있는지 나타내는 지표 - CPU와 입출력장치 사이의 전송률이 다르다면 문제가 생김 - 때문에 장치 컨트롤러라는 하드웨어를 통해 연결 장치 컨트롤러의 역할 CPU와 입출력장치 간의 통신 중개 오류 검출 데이터 버퍼링 - 버퍼링: 전송률이 차이 나는 장치 사이의 데이터를 버퍼라는 임시 저장공간에 저장하여 전송률을 비슷하게 맞추는 방법 (=데이터를 한 번에 받아와서 조금씩 내보내는 방법) 장치 컨트롤러의 내부 구조 데이터 레지스터 - CPU와 입출력장치 사이에 주고받을 데이터가 담기..
· CA
하드 디스크 자기적인 방식으로 데이터를 저장하는 보조기억장치 자기 디스크의 일종 플래터 - 하드 디스크에서 실질적으로 데이터가 저장되는 곳 - 자기 물질로 덮여있는 동그란 철판 - N극, S극이 0과 1의 역할을 수행 - 트랙, 섹터라는 단위로 데이터를 저장 - 하나의 섹터는 일반적으로 512bytes - 실린더 = 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위 스핀들 - 플래터를 회전시키는 구성 요소 - RPM: 스핀들이 플래터를 돌리는 속도 헤드 - 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소 - 다중 헤드 디스크: 트랙마다 헤드가 있어 탐색 시간이 거의 들지 않음 하드 디스크가 저장된 데이터에 접근하는 시간 탐색 시간 - 접근하려는 데이터가 저장된 트랙까지 헤드를 이..
느낌있는 곳
Real_Brother