운영체제(10)
-
SSH 원격 접속시 RSA 공유키 충돌 에러
AWS 서버에 ssh 원격 접속을 하려는데 오류가 발생했다. (Putty 사용) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been ..
2022.01.24 -
Linux lsblk, df 명령어 비교
lsblk (list block) block device 드라이버에 질의해서 그 장치에 할당된 용량을 알아냄 이 용량 중에 얼마만큼이나 사용자가 사용할 수 있을지는 file system 마다 다름 $ lsblk df (disk free) df는 file system 드라이버에 질의해서 사용자가 사용 가능한 남은(free) 용량을 알아냄 $ df
2021.04.28 -
Linux ipcs 명령어
ipcs 시스템에서 사용중인 콜 프로세스의 IPC와 관련된 정보 확인 $ ipcs [옵션] ... 옵션 설명 -i 특정 id에 대한 정보를 확인 -m 공유 메모리 세그먼트를 확인 -q 메시지 큐를 출력 -s 세마포어 배열을 출력 -a 모든 리소스를 출력. -t, -p, -c, -l, -u로 출력 형식 설정 가능 -t 시간 정보를 같이 출력 -p pid 정보를 같이 출력 -c creator 정보를 같이 출력 -l limits 정보를 같이 출력 -u 간추린 정보를 같이 출력
2021.04.28 -
IPC의 종류와 특징
IPC (Inter Process Communication) 프로세스간 통신 프로세스들 간에 데이터 및 정보를 주고받기 위한 메커니즘을 말함 커널에서 IPC를 위한 도구를 제공하며, 시스템 콜 형태로 프로세스에게 제공됨 운영체제 내에서 실행되는 프로세스들은 독립적이거나 협력적인 프로세스일 수 있다. 1. 독립적인 프로세스 (Independent process) 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받지 않는 프로세 2. 협력적인 프로세스 (Cooperative process) 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받는 프로세스 IPC가 반드시 필요 IPC 종류 1. 공유 메모리 (Shared Memory) 두 개 이상의 프로세스들이 주소 공간의 일부를 공유 공유한 메모리 ..
2021.03.09 -
세마포어와 뮤텍스
세마포어와 뮤텍스 둘 다 상호배제를 해결하기 위한 방법 = 병행처리를 위한 프로세스 동기화 기법 = 여러 프로세스나 쓰레드가 공유 자원에 접근하는 것을 제어하기 위한 방법 세마포어 (Semaphore) 세마포어는 정수값을 갖는 변수이다. 이 정수값이 접근할 수 있는 최대 허용치를 의미하며, 이 값 만큼 동시에 사용자가 접근할 수 있다. semWait 연산 세마포어 값을 감소시킨다. 값이 음수가 되면 semWait를 호출한 프로세스는 블록된다. semSignal 연산 세마포어 값을 증가시킨다. 값이 양수가 아니면 (0 또는 음수이면) semWait 연산에 의해 블록된 프로세스들을 깨운다. struct semaphore { int count; queueType queue; }; void semWait (se..
2021.03.08 -
멀티 프로세스와 멀티 쓰레드의 차이
다중 처리 시스템 (Multi-Processing System) CPU(=프로세스) 가 여러 개 여러 프로세스를 동시에 실행하는 것 프로세스간 통신을 하려면 (IPC:Inter Process Communication; 세마포어, 큐, 공유메모리)를 사용해야한다. 프로세서를 다른 프로세스로 전환하려면 문맥교환(Context Switching)을 해야한다. 문맥교환 (Context Switching) 이전 프로세스의 상태 레지스터의 내용을 보관하고 다음 프로세스의 레지스터들을 적재하는 과정 단순히 CPU 레지스터 교체 뿐 아니라 RAM과 CPU 사이의 캐시 메모리에 대한 데이터 까지 초기화 된다. 문맥교환은 모두 과부하(overhead)가 발생한다. 임계구역 (Critical Section) 둘 이상의 프로..
2021.03.08 -
쓰레드 (Thread)
프로세서를 이용하는 기본 단위 프로그램 명령을 실행하는 프로세스 내의 개체 경량 프로세스라고도 함 명령어를 독립적으로 실행할 수 있는 하나의 제어 흐름 쓰레드는 같은 프로세스(그룹) 내의 쓰레드들과 코드, 주소 공간, 운영체제의 자원인 파일, 신호 등을 공유한다. 이러한 쓰레드의 그룹 환경을 작업이라고 한다. 전형적인 프로세스인 중량 프로세스 (HWP: Heavy Weight ProcesS)는 하나의 쓰레드를 가진 작업을 의미한다. 쓰레드는 자신만의 스택(지역변수), 레지스터를 갖는다. 단일 쓰레드 운영체제 하나의 프로세스에서 하나의 쓰레드가 실행 전통적인 방식 쓰레드의 개념이 불확실함 MS-DOS 다중 쓰레드 운영체제 하나의 프로세스에서 여러 쓰레드의 실행을 지원 각 프로세스는 하나 이상의 쓰레드를 갖..
2021.03.08 -
운영체제 유형별 특징
CPU 주기억장치 프로그램 사용자 특징 일괄 처리 시스템 (Batch Programming System) 1개 1개 1개 1명 다중 프로그래밍 시스템 (Multi-Programming System) 1개 1개 n개 1명 시분할 시스템 (Time Sharing System) 1개 1개 n개 n명 TimeSlice 다중 처리 시스템 (Multi-Processing System) n개 1개 n개 n명 강결합시스템, 공유메모리 사용 분산 처리 시스템 (Distributed Processing System) n개 n개 n개 n명 약결합시스템, 네트워크 사용 1. 일괄 처리 시스템 (Batch Programming System) 입력되는 자료를 일정기간 또는 일정량을 모아 두었다가 한꺼번에 처리하는 방식 CPU와 ..
2021.03.08 -
Linux df, du 명령어
프론트 API 서버 로그가 과도하게 쌓여서 터지려고한다. 일주일에 한 번씩 AWS에 로그가 옮겨지고 있는데도 넘쳐난다. 문제 해결 전에는 일단은 주기적으로 삭제해줘야 하는 상황이다. df (disk free) 디스크 여유공간 확인 $ df [옵션] ... df -h 용량 단위를 보기 좋게 Kb, Mb, Gb 단위로 출력 du (disk usage) 디렉토리의 디스크 사용량 확인 $ du [옵션] ... du -h 용량 단위를 보기 좋게 Kb, Mb, Gb 단위로 출력 du -s 요약된 정보 출력. 서브 디렉토리의 정보는 출력하지 않음 du -hs * 현재 폴더에 있는 폴더 및 파일 용량 확인
2021.02.15 -
Linux 기본 명령어
1. 파일 시스템 탐색 pwd (print working directory) 현재 작업중인 디렉터리 정보 출력 $ pwd /Users/narae ls (list segments) 디렉터리 목록 확인 $ ls ApplicationsLibrary... -p 디렉터리의 하위 목록까지 전부 보여주기 cd (change directory) 경로 이동 $ cd /Users/narae/Documents $ pwd /Users/narae/Documents $ cd .. $ pwd /Users/narae 2. 파일 관리 cat (concatenate) 파일 내용 출력 파일 여러개를 합쳐서 하나의 파일로 만들기 한 파일의 내용을 다른 파일에 덧붙이기 새로운 파일 만들기 등등 rm (remove) 파일 혹은 디렉터리 삭제 ..
2020.09.30