목록프로세스 (7)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dkUBSD/btsx3GgbW4H/pzvQykBcIjDUQeNG76KbJK/img.png)
계정 환경 설정 로그인 정보 명령: passwd • 현재 로그인한 계정의 비밀번호를 설정 기본 명령어들 - 경로 변경: cd [경로] - 파일 생성: touch [파일명] - 파일 복사: cp [원본] [대상] - 파일 삭제: rm [파일명] - 파일 이동: mv [원본] [대상] 파일 내용 보기 명령들 명령어: cat [파일명] - 지정한 파일의 내용을 화면에 출력 명령어: more [파일명] - 지정한 파일의 내용을 화면에 출력 - 화면 단위로 출력(페이지 넘김: 스페이스바키) 명령어: tail [-###] [파일명] - 지정한 파일에 대하여 뒤에서 ###(숫자)의 행만큼 출력 명령어: head [-###] [파일명] - 지정한 파일에 대하여 앞에서 ###(숫자)의 행만큼 출력 텍스트 파일 에디터 V..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/I1Q5g/btse957QYMu/kvNtZkuPekk4TLEyYawDq0/img.png)
입출력시스템 입출력 버스 구조 및 버퍼링 입출력 버스 구조 초기 구조 - 모든 장치가 하나의 버스로 연결 - CPU가 입출력장치로부터 데이터를 가져오기 위해 폴링(polling) 방식 이용 입출력 제어기 적용 구조 - 메인 버스와 입출력 버스의 2개의 채널로 구성 • 메인 버스 : 고속으로 작동하는 CPU와 메모리가 사용 • 입출력 버스 : 주변장치가 사용 - CPU와 메모리의 작업이 느려지는 것을 막을 수 있음 - 단, 주변장치들은 모두 늦은 속도와 동기를 맞춤 입출력 버스를 분리 - 입출력 속도를 고려하여 버스를 분리 후 적용 버퍼링 버퍼(buffer) - 속도가 다른 두 장치 간 통신 시 대시 기간을 단축하기 위해 임시로 기록하기 위한 공간 - 장치의 일기/쓰기의 횟수를 감소 = 성능 향상 - 외부..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cBuMFt/btr9mNY9U3t/lFH73F1HHDqWmN6C6HpXT1/img.png)
교착 및 기아 상태 - 예방 및 해결 교착 해결 방법 종류 - 예방 기법(Prevention Method) - 회피 기법(Avoidance Method) - 탐지 및 복구(Detection and Recovery Method) 예방 기법 4개의 deadlock 발생 필요 조건 중 하나를 제거 - 자원 사용의 상호 배제(Mutual Exclusion) - 비선점형 자원(Non-preemptive) - 점유와 대기(Hold-and-Wait) - 원형 대기(Circular Wait) 위 사항 중 하나라도 없으면, 절대 Deadlock이 발생하지 않음!! - 단, 임계구역의 내용이 파손될 가능성이 큼 자원의 공유를 허용 - 상호 배제(Mutual Exclusion) 조건을 제거 - 현실적으로 불가능 - 원하는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nvv8U/btr60hIBtgx/omxvUh308sSZbU54mNl0CK/img.png)
스케줄링 및 IPC - 스케줄링 기법 스케줄링 평가 방법 CPU 사용률(%) - 전체 시스템의 동작 시간 중 프로세스들이 CPU를 사용한 비율을 측정 - 높을 수록 운영체제의 성능이 좋음 처리량 - 단위 시간당 작업을 마친 프로세스의 수 - 수치가 클수록 좋은 알고리즘 시간 대기 시간 : 프로세스가 생성된 후 실행되기 전까지 대기하는 시간 - 예: 실행 파일 더블클릭 후 실제 구동시작 시간의 차이 응답 시간 : 첫 작업을 시작한 후 첫 번째 출력(반응, response, feedback)이 나오기까지의 시간 - 예: 실행프로그램 UI 생성된 시간 실행 시간 : 프로세스 작업이 시작된 후 종료되기까지의 시간 - 예: 실행프로그램의 동작시간 반환 시간 : 대기 시간을 포함하여 실행이 종료될 때까지의 시간 -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cc8JJu/btr60EbXKqY/l063Q0iiLXdWb2WP0kelM1/img.png)
스케줄링 및 IPC - 스케줄링 개요 스케줄링 개요 개념 프로세스들에 대하여 CPU에 할당 기회를 결정하고 수행하는 과정 프로세스가 작업을 처리하기 위해 CPU 할당을 위한 일정을 처리 목적 모든 프로세스들에게 공정하게 배정 - 공평성 단위 시간당 최대한 많이 처리 - 처리율 극대화 - 빠른 응답 - 오버헤드 최소화 - 프로세스 무한대기 최소화 필요성 작업(프로세스)은 주어진 일을 수행하기 위해 다양한 자원(resource)을 사용 - 자원 예: CPU, memory, storage, network, file, I/O etc. - 자원의 특징 : 유한함 CPU는 작업(프로세스) 단위로 처리 작업의 개수가 많아지면 자원들을 선점하기 위한 경쟁이 필요 작업 간의 효율적인 자원의 할당 및 공유를 위한 관리자가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/S6Vrx/btr5sb4Iqph/I6tTTRmU9Vw2U3aSTwUfz0/img.png)
프로세스 관리 실습환경 구축 가상 머신(Virtual Machine) - 게스트 운영체제의 동작 환경을 제공하는 가상의 하드웨어 환경을 제공 - 실습용 가상 머신 : VirtualBox • 다운로드: https://www.virtualbox.org/ 운영체제 - 리눅스 배포판을 통한 운영체제 기능을 실험 - 실습용 운영체제 : Debian Linux (버전: 11.5) • 데이반 리눅스계열로 각종 해킹 관련 툴들이 포함된 리눅스 배포판 • 다운로드: https://www.debian.org/ 실습을 위한 환경 설정 쉘 변경 • 명령어: chsh 프로세스 상태 제어 실습 실습 준비 가상머신: VirtualBox 운영체제: 데비안 리눅스(Debian Linux) 정지(휴식) 상태 실습 명령어: ps • 프로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/crz15S/btr3LskI85B/tv7Rsf7eAMXk8xbkd0bgT1/img.png)
프로세스 관리 - 프로세스의 개요 프로세스의 개념 운영체제의 기능 프로그램(program) 저장장치에 기록되어 있는 정적인 소프트웨어 실행 가능한 소프트웨어 - 컴파일 언어 기반의 소프트웨어일 경우 main() 함수가 반드시 존재하는 소프트웨어 - main() 함수가 없다면, 이는 라이브러리(library) 등으로 분류 프로세스(process) - 메모리에 로드(load)되어 주기적으로 CPU에 의해 처리되는 소프트웨어 - 주기적으로 CPU를 점유 - 프로세스 제어 블록(PCB: Process Control Block 또는 Process Status Block 자료구조) 할당 - 동음어: 태스크(task), 잡(job) 프로세서(processor) - 명령을 실행(처리)하는 하드웨어 - 예: CPU(Ce..