CS/OS 14

[OS] DMA

DMA(Direct Memory Access) DMA는 CPU를 대신하여 I/O장치와 Memory사이의 데이터전송을 담당하는 장치를 지칭한다. DMA에 의한 입출력 방식은 CPU의 개입 없이 직접 주기억 장치와 DMA 사이에서 일련의 입출력 동작이 이루어지는 방식 DMA의 특징 CPU를 경유하지 않고 직접 기억 장치와 입출력 장치 사이에서 전송이 이루어진다. 하나의 입출력 명령어에 의해 하나의 블록 전체가 전송된다. 사이클 스틸에 의해 전송이 이루어진다. 전송이 끝나면 인터럽트를 발생시켜 CPU에게 알린다. 데이터 전송 절차 : 버스 사용 요구 -> 버스 사용 허가 -> 데이터 전송 -> 인터럽트 DMA 필요성 고속의 I/O 장치의 경우 인터럽트로 CPU의 실제 프로세스 작업 시간 감소 디스크 같은 많은..

CS/OS 2021.06.20

[Linux] 프로세스

[프로세스의 정의] 프로세스는 여러가지 형태로 정의할 수 있다. 실행중인 프로그램(컴파일 및 링크가 모두 완료된 실행 프로그램 또는 실행 파일과 실행에 필요한 입럭데이터를 총칭) 커널에 등록되고 커널의 관리하에 있는 작업 컴퓨터 시스템 내의 각종 자원들을 요청하고 할당받을 수 있는 개체 프로세스 관리 블록을 할당받는 개체 [프로세스 자원의 개념] 커널에 의해 다른 주체에게 할당되고 사용이 끝날 경우 다시 반납되는 피동적인 개체 하드웨어 자원 : 기억장치나 프로세서, 하드디스크, 자기테이프, 단말기, 모니터, 키보드 등의 장치 소프트웨어 자원 : 메세지, 시그널, 파일, 각종 공유 소프트웨어 등 [프로세스 관리 블록 : PCB, Process Control Block] 컴퓨터 시스템 내의 프로세스들은 모두..

CS/OS 2020.05.23

[Linux] 쉘 스크립트 기초 문법

웹 개발은 대부분 리눅스 서버 환경에서 구축된다. 업무를 하며 배포나 메모리 체크 등 반복되는 작업에 대한 다양한 쉘 스크립트들이 작성된 것을 보았다. 자동화를 위해 쉘 스크립트를 공부할 필요를 느끼고 책도 샀다! 시작하기 전 가볍게 쉘 스크립트의 문법에 대한 기본 내용들을 정리한다. [쉘 스크립트란?] 쉘 스크립트는 쉘이 수행하고 있는 명령어들을 저장하고 있는 파일이다. 쉘 스크립트를 제작하는 것을 쉘 프로그래밍이라 한다. [변수] 위치 매개 변수 : 0 하나만 적는 것을 제외하고 숫자로 지시하는 매개 변수를 의미한다. 쉘 함수가 실행될 때 일시적으로 치환된다. 1개 이상의 숫자로 구성된 위치 매개 변수를 확장할 때에는 중괄호로 묶어 주어야 한다. 특별 매개 변수 : 이 매개변수는 참조만 가능할 뿐 값..

CS/OS 2020.05.23

[OS] 윈도우 부팅 디스크 버전 확인하기

윈도우 부팅용 USB의 버전을 확인해보자 1. 관리자 권한으로 cmd 실행한다. 2. 아래의 명령어를 실행한다. wimfile경로는 이동식 usb의 드라이브 에 해당하는 경로로 설정한다. dism /Get-WimInfo /WimFile:e:\sources\install.esd 여기서 e:는 부팅디스크(연결한 이동식 드라이브)에 해당하도록 수정해주면 된다. 명령어를 실행해서 확장자 .esd로 조회가 안된다면 .wim으로 수정하여 재진행한다. dism /Get-WimInfo /WimFile:e:\sources\install.wim [히스토리] win7으로 재설치를 해야 하는 일이 생겼다. 가지고 있는 부팅 디스크가 있는데 버전을 알지 못했다. 검색하여 위 명령어로 버전 확인하니 win10이었다. 필요한 wi..

CS/OS 2020.03.07

[OS] 운영체제 기초

일하면서 리눅스 서버를 운영하다 보면 리눅스 기반 기술, 운영기술의 필요성을 절실히 느낀다. 리눅스를 공부할수록 운영체제에 대한 기초 지식의 망각(?)을 느껴 정리하고자 포스팅한다. [운영체제 개요] 1. 운영체제의 이해 운영체제란? 사용자가 컴퓨터 시스템을 손쉽게 사용하도록 하고 시스템 자원(기억장치, 프로세서, 입출력 장치, 정보, 네트워크 및 데이터 등)을 효율적으로 관리할 수 있도록 하는 프로그램들의 집합이다. 운영체제는 사용자와 컴퓨터 간의 인터페이스 역할을 담당한다. 운영체제는 각 프로그램을 유기적으로 결합시켜서 시스템 전체의 생산성을 향상할 목적으로 설계된다. 운영체제를 역할 중심으로 구분한다면 자원할당자와 제어 프로그램으로 구분할 수 있다. 자원할당자(Resource Allocator) :..

CS/OS 2020.02.29

[Linux] 생활코딩 리눅스 강좌 (5)

[권한 : permission] 권한 기본 유닉스 계열 시스템에서 '권한'을 통해 '제어가 가능한 대상'은 파일과 디렉토리이다. 이 대상에 관련된 읽기, 쓰기, 실행 권한을 제어한다. echo 'hello' > permission.txt 이 파일에 입력하는 명령어. 하지만 권한이 없는 사용자가 접근해서 작성할 경우 permission denied 된다. -rw-rw-r-- 1 hoho hoho 0 Dec 4 23:11 permission.txt 맨앞에 -는 파일을 의미. 디렉토리일땐 d가 기록된다. rw- rw- r-- Access mode. 접근 권한 소유자 권한/그룹 권한/모든 사용자 권한 r = read, w : write, x : execute hoho 소유자 owner hoho 그룹 권한을 변경..

CS/OS 2019.10.08

[Linux] 생활코딩 리눅스 강좌 (4)

[프로세스와 실행] 컴퓨터의 구조 프로세스 : 실행되고 있는 상태의 프로그램. 사용자가 입력한 명령어(command) 명령어는 /bin이나 /sbin과 같은 디렉토리에 파일 형태로 저장되어 있음. 스토리지에 파일이 저장되어 있고 이를 프로그램이라 함. CPU : 프로세서. cpu는 굉장히 빠르게 동작하므로 스토리지의 속도가 따라오지 못함. 스토리지에 설치된 프로그램을 사용할 때, 프로그램을 읽어서 메모리에 적재. 메모리에 올라온 프로그램을 CPU가 수행. 스토리지과 메모리는 정보를 저장하는 공통점이 존재. RAM : DDR과 같은 메모리. 가격 비쌈. 저장 용량이 적음. 속도 빠름 SSD, HDD : 저장장치. storage. 가격 저렴. 저장 용량이 큼. 속도 느림 프로세스 모니터링 ps : 프로세스 ..

CS/OS 2019.10.07

[Linux] 자주 사용하는 명령어 정리2

ps [옵션] 유닉스는 동시에 여러 개의 프로세서가 동작되기 때문에 사용자가 그것들의 목록과 상태를 점검할 필요가 있다. ps라는 이름은 processor status를 의미한다. ps를 사용하여 프로세서들의 상태를 점검할 수 있다 출처: https://3dmpengines.tistory.com/1934 [3DMP] echo 문장을 출력해주는데 자동으로 줄바꿈 처리. Java에서의 println과 유사 netstat netstat로 네트워크 정보 확인하기 https://thebook.io/006718/part01/ch03/06/04/ awk awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용하는 프로그램입니다. 즉, awk 명령의 ..

CS/OS 2019.10.05

[Linux] 자주 사용하는 명령어 정리1

echo : 주어진 문자열을, 문자열 사이에 포함된 공백과 줄 마지막에 개행문자를 포함하여 표준출력으로 출력 export : 통해서 쉘 변수를 환경변수로 저장 unset : 쉘 환경에서 변수를 제거하는 리눅스 명령어 java -jar 파일명.jar : 리눅스에서 jar 파일을 실행하는 명령어 nohup ./test.sh & 기존에 사용하던 ./test.sh 명령어에 nohup과 &를 앞뒤로 붙여준다. 중간에 프로세스가 꺼지거나, 쉘이 종료되거나, 원격ssh가 꺼져도 프로그램은 계속 실행되기 때문에 원격접속으로 시간이 오래걸리는 프로그램을 실행하기에 적합한 명령어. 백그라운드에서 프로세스 실행 nohup.out 실행된 내역은 nohup.out에 저장된다. 실행된 내역을 다른 이름으로 저장하고자 한다면 re..

CS/OS 2019.09.28

[Linux] RPM 과 YUM

[Redhat Package Manager : RPM] - 레드햇 회사가 만든 리눅스에서만 쓸 수 있는 패키지 인스톨 - 형식 : 패키지명-버전-릴리즈번호.페도라버전.아키텍처.rpm 버전 : 숫자가 높아질수록 최신 버전. (주버전.부버전.패치버전) 릴리즈 번호 : 문제점을 개선해서 배포할 때마다 붙여지는 번호. 페도라버전 : 페토라에서 배포할 경우 붙여지는 페도라의 버전. 아키텍처 : 설치 가능한 CPU. - 명령어 사용법 : rpm [옵션] [패키지 파일] - 옵션 -U : 기존에 패키지 미설치 시 설치 진행, 설치완료시 업그레이드 진행 -v : 설치 과정 출력 -h : 설치 진행 과정을 특수문자 #으로 출력 -e : 설치된 rpm 삭제 -qa : 시스템에 패키지가 설치되어 있는지 확인 -qf : 이미..

CS/OS 2019.09.27
반응형