목록운영체제 (12)
Cohe

교착상태의 개요 교착 상태의 정의 교착 상태(deadlock) 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 아사 현상과 관계가 있으나 구분하도록! 아사 상태와 차이점 아사 현상(starvation): 운영체제가 잘못 된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제(특정 프로세스가 자원을 가져오지 못해 작업이 계속 지연) 개인 프로세스의 문제, 우선순위가 밀려서 서비스를 못 받음 교착 상태: 여러 프로세스가 작업을 진행하다보니 자연 발생적으로 일어나는 문제 2개 이상의 프로세스, 한 없이 발생하게 됨 시스템 자원 교착 상태는 다른 프로세스와 공유할 수 없는 자원을 사용할 때 발생 동시에 사용할 수 없는 자원, 상호 배제가 지켜져야 함 잠금 ..

프로세스 간 통신 프로세스 간 통신의 개념 프로세스 간 통신(IPC; Inter Process Communication)의 종류 공유 메모리나 공유 파일을 이용한 통신 일정한 메모리 영역이나 파일을 공유하고 이를 통해 데이터를 주고받음 데이터를 주고받는 방법을 프로세스끼리 알아서 결정해야 하므로 가장 원시적인 방식 파이프를 이용한 통신 프로세스 간 통신을 위해 운영체제가 제공하는 통신 기법 예) fork()로 만들어진 부모-자식 간 통신에 파이프 사용 소켓을 이용한 통신 네트워크로 연결된 컴퓨터에서 데이터를 주고받기 위한 통신 기법 소켓 방식은 초기화할 내용도 많고 시스템 자원도 많이 사용하므로 같은 컴퓨터 내에서 소켓으로 통신하는 것은 비효율적 프로세스 간 통신의 분류 통신 방향에 따른 분류 양방향 통..

스케줄링의 개요 CPU 스케줄링 고수준 스케줄링(high level scheduling) 시스템 내의 전체 작업 수를 조절하는 것 사용자의 실행은 막지 않는다. 어떤 작업을 시스템이 받아들일지 또는 거부할지를 결정 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수가 정해짐 장기 스케줄링(long-term scheduling), 작업 스케줄링(job scheduling), 승인 스케줄링(admission scheduling)이라고도 함 중간 수준 스케줄링(middle level scheduling) 중지(suspend)와 활성화(active)로 전체 시스템의 활성화된 프로세스 수를 조절 하여 과부하 막음 일부 프로세스를 중지 상태로 옮겨 나머지 프로세스가 원만히 작동하도록 지원 저수준 스케줄링이 원만하..

프로세스의 개요 프로세스의 개념 프로그램 저장장치에 저장되어 있는 정적인 상태 프로세스 실행을 위해 메모리에 올라온 동적인 상태 다양한 정의가 가능하나 가장 일반적인 정의는 “실행 중인 프로그램” 메모리에 적재되어 운영체제의 제어를 받는 상태. 프로세스가 사용하고 있는 메모리 영역 (자신의 주소 공간)이 존재함을 의미. 운영체제로부터 프로세스 제어 블록을 얻는다는 뜻. 프로그램에서 프로세스로의 전환 프로세스 제어 블록Process Control Block, PCB 운영체제가 해당 프로세스를 위해 관리하는 자료 구조 프로세스 제어 블록에 있는 대표적인 세 가지 정보 프로세스 구분자 : 각 프로세스를 구분하는 구분자 메모리 관련 정보 : 프로세스의 메모리 위치 정보 각종 중간값 : 프로세스가 사용했던 중간값..

컴퓨터의 기본 구성 하드웨어 구성 컴퓨터의 구성 필수장치: 중앙처리장치, 메인메모리(대부분의 작업이 이루어 짐) 주변장치: 입력장치, 출력장치, 저장장치 용어 통일 메인메모리 → 메모리 보조저장장치 → 저장장치 중앙처리장치 → CPU CPU와 메모리 CPU : 명령어를 해석하여 실행하는 장치로 인간으로 치면 두뇌에 해당 메모리 작업에 필요한 프로그램과 데이터를 저장하는 장소 바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분 입출력장치 입력장치 : 외부의 데이터를 컴퓨터에 입력하는 장치 출력장치 : 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치 저장장치 메모리보다 느리지만 저렴하고 용량이 큼 전원의 온·오프와 상관없이 데이터를 영구적으로 저장 느린 저장장치를 사용하는 이유는 저장 용..

운영체제 소개 일상생활 속의 운영체제 운영체제 일반 컴퓨터, 노트북, 스마트폰의 전원을 켜먼 가장 먼저 만나게 되는 소프트웨어 컴퓨터 관리를 위한 기본적은 규칙과 절차를 규정하여 컴퓨터 내의 모든 하드웨어(컴퓨터 자원)와 응용 프로그램을 관리 ex) pc 운용체제(윈도우, Mac OS, 유닉스, 리눅스 등), 모바일 운영체제(iOS, 안드로이드 등) 임베디드 운영체제 CPU 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제 임베디드 운영체제가 있는 기계는 기능을 계속 향상할 수 있음 업그레이드가 가능하다 : 스마트폰처럼! 요즘은 냉장고에서 노리고 있음 운영체제의 정의 응용 프로그램이나 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공, 그 결과를 돌려주는 시스템 소프트웨어 응용 ..

네트워크와 인터넷 통신과 네트워크 통신 환경의 발전 모스 부호(Morse code): 전기를 이용한 최초의 통신 수단, 미리 정해놓은 짧은 음과 긴 음을 조합하여 먼 곳에 있는 사람에게 실시간으로 문자 전송 전화: 통신하려는 대상을 선으로 연결하여 부호가 아닌 사람의 음성 전달 무전기: 최초의 무선통신 기기, 양쪽으로 통신할 수 있으나 특정 시점에는 한쪽으로만 통신 가능 통신 방향 단반향(simplex) 통신 한쪽 방향으로만 통신이 이루어지는 방식. 예) 모스 부호, 라디오, TV 방송 등 양방향(duplex) 통신 양쪽 방향으로 동시에 통신이 이루어지는 방식. 예) 일반 전화기 반양방향(half duplex) 통신 단방향 통신과 양방향 통신의 중간 형태로, 양방향 통신이기는 하지만 어느 순간에는 한쪽 ..

01 파일과 파일 시스템 파일 시스템의 개요 파일 시스템의 개념 파일을 보관/관리하는 파일 관리자를 두어 저장장치의 전체 관리를 맡기는 것 파일 관리자는 파일 테이블을 사용하여 파일 관리 사용자가 특정 파일에 접근하려면 파일 관리자로부터 파일에 접근할 수 있는 권한(키) 획득해야 함. 파일 접근 권한을 파일 디스크립터(file descriptor)라고 함 기능 설명 파일 및 디렉터리 구성 사용자의 요구에 따라 디렉터리를 만든다 파일 및 디렉터리 관리 파일 및 디렉터리의 생성, 수정, 삭제등을 관리하고 사용자가 파일 및 디렉터리에 접근할 수 있도록 한 접근 방법 제공 파일과 디렉터리에서 읽고 쓰고 실행할 수 있도록 사용자에게 접근 방법을 제공한다 접근 권한 관리 다른 사용자에게서 파일 및 디렉터리를 보호하..

입출력 시스템 입출력장치와 채널 주변장치 주변장치는 저속 주변장치(키보드, 마우스 등)와 고속 주변장치(그래픽카드, 하드디스크 등)로 나뉨 주변장치는 메인보드 내의 버스로 연결 버스에는 많은 종류의 장치가 연결되어 1개만 사용하면 병목 현상 발생하므로 이를 해결하기 위해 여러 개의 버스를 묶어서 사용 이때 데이터가 지나다니는 하나의 통로를 채널이라고 부름 채널 공유와 채널 분리 채널을 모든 주변장치가 공유하면 전체적으로 데이터 전송 속도가 느려짐 전송 속도가 비슷한 장치끼리 묶어서 장치별로 채널을 할당하면 전체 데이터 전송 속도를 향상할 수 있음 입출력 버스의 구조 초기의 구조 모든 장치가 하나의 버스로 연결 CPU가 작업을 진행하다가 입출력 명령을 만나면 직접 입출력장치에서 데이터를 가져오는 폴링(po..

요구 페이징의 개요 요구 페이징의 개요 프로세스의 일부만 메모리로 가져오는 이유 fetch시 전체 프로그램을 가져오지 못한다. 메모리를 효율적으로 관리하기 위해: 메모리가 꽉 차면 관리하기 어려우므로 가급적 적은 양의 프로세스만 유지 : 가능한 메모리를 적게 쓰면 좋으니까~ 응답 속도를 향상하기 위해: 용량이 큰 프로세스를 전부 메모리로 가져와 실행 하면 응답이 늦어질 수 있으므로 필요한 모듈만 올려 실행 포토샵 예 메모리에는 포토샵의 메인 프로그램만 올리고 필터는 사용자가 필요로 할 때마다 메모리로 가져오는 것이 효율적 요구 페이징(demand paging) 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것 미리 가져오기: 요구 페이징과 반대. 예상되는 페이지를 미리 가져 오는 방식으로 대표적인 ..