CS/운영체제

통신의사소통 하는 것 네트워크유무선통신 기술을 이용하여 여러 기기를 하나로 연결한 것1세대 무선 전화망: 초기의 무선 전화망은 아날로그 신호만 전송했다.2세대 무선 전화망: 디지털 신호를 전송한다. 아날로그 신호보다 효율성이 좋다.3세대 무선 전화망: 기존의 전화 기능에 데이터 통신 기능이 추가되었다.4세대 무선 전화망: 데이터 통신에 대해 데이터 전송 속도를 높였다.5세대 무선 전화망: 초고속 무선 통신이 가능하다. 네트워크 구성 방식강결합 시스템네트워크로 연결된 모든 컴퓨터의 프로세서가 하나의 메모리를 공유하는 방식모든 컴퓨터는 메모리를 공유하면서 같은 운영체제를 사용하는데, 강결합 시스템은 약결합 시스템에 비해 속도가 빠르다.약결합 시스템둘 이상의 독립된 시스템을 연결한 것통신 오버헤드가 있기 때문..
파일 시스템파일시스템대신 파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체 관리를 맡기는 시스템파일 시스템에서 파일 관리자는 사용자의 요청에 따라 파일을 저장하거나 파일의 내용을 읽어온다.파일 관리자사용자가 직접 파일을 보관하거나 접근하지 못하도록 하고 대신해준다파일 디스럽터파일 접근 권한 파일 시스템의 기능파일을 생성디렉터리 구조를 제공파일 이름과 확장자를 만들어 관리블록과 파일 테이블데이터는 운영체제와 저장장치 간에 블록 단위로 전송된다. 블록저장장치에서 사용하는 가장 작은 단위한 블록에 주소 하나가 할당메모리는 바이트 단위로 저장하드디스크의 물리적인 구조상 가장 작은 저장 단위는 섹터섹터마다 주소를 부여하면 너무 많은 양의 주소가 필요하기에 섹터를 묶어 하나의 블록으로 만들고, 블록 하나..
입출력 장치와 채널저속 주변장치메모리와 주변장치 사이에 오고 가는 데이터의 양이 적어 데이터 전송률이 낮은 장치ex) 키보드, 프린터고속 주변장치대용량의 데이터가 오고가서 전송률이 높은 장치.ex) 그래픽카드, 하드디스크 등 입출력 버스의 구조  직접 메모리 접근(DMA)CPU 도움 없이도 메모리에 접근할 수 있도록 입출력 제어기에 부여된 권한 인터럽트CPU가 어떤 인터럽트를 받는지 확인하기 위해 각 장치에 IRQ라는 고유의 인터럽트 번호가 있다.외부 인터럽트입출력장치 뿐만 아니라 전원 이상이나 기계적인 오류때문에 발생하는 인터럽트내부 인터럽트프로세스의 오류와 관련된 인터럽트사용자가 직접 발생시키는 인터럽트는 시그널이라고 한다. (ctrl+c or kill 명령) 버퍼단일 버퍼보다 이중 버퍼를 사용하는 ..
요구 페이징의 개요메모리에는 꼭 필요한 프로세스만 유지하는 게 중요하다.그러기 위해서 프로세스의 일부만 메모리에 가져오는 방법을 사용한다.이 방법의 장점은 메모리를 효율적으로 관리할 수 있고, 응답 속도를 향상할 수 있다는 것이다. 요구 페이징사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것미리 가져오기 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식 페이지 테이블 엔트리의 구조페이지 테이블 엔트리의 구성페이지 번호 / a, m, v, r, w, x비트 / 프레임 번호접근 비트 = 참조 비트페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트변경 비트 = 더티 비트페이지에서 데이터의 변경이 있었는지 알려주는 비트유효 비트실제 메모리에 있는지를 나타내는 비트1이라면 스왑 영역에 있다.읽..
가상 메모리 시스템가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리를 제공하는 기술가상 메모리에서 메모리 관리자가 사용할 수 있는 메모리의 전체 크기 = 물리 메모리 + 스왑 영역가변 분할 방식 => 세그멘테이션 / 고정 분할 방식 => 페이징메모리를 관리할 때에는 매핑 테이블을 작성해서 관리 페이징 기법페이징 기법은 물리 주소 공간을 같은 크기로 나눠서 사용한다.이때 물리 메모리의 각 영역은 가상 주소의 페이지와 구분하기 위해 프레임이라고 부른다.가상 주소 = VA / 페이지 = P / 페이지의 처음 위치 ~ 해당 주소 거리(오프셋) = DVA = 라고 표현실제 물리 주소 = PA, 프레임 = FVA = --> PA = 라고 표현 페이지 테이블 매핑 방식직접 매핑페이지 테이블 전체..
메모리 관리의 복잡성메모리 관리는 메모리 관리 시스템이 담당한다. 메모리 관리의 이중성메모리 관리의 이중성은 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌을 일으키는 것 소스코드의 번역과 실행컴파일러소스코드를 컴퓨터가 실행할 수 있는 기계어로 번역한 후 한꺼번에 실행한다. C언어나 자바가 속한다.인터프리터소스코드를 한 행씩 번역하여 실행한다. 자바스크립트가 있다.컴파일러의 목적오류 발견, 코드 최적화를 위함이며, 실행하기 전에 코드를 점검하여 작고 빠른 실행 파일을 만들 수 있게 해준다.컴파일 과정사용자가 작성한 소스코드를 컴파일러가 1차로 번역해서 목적 코드(0 과 1)를 생성한다. 그 후 링커가 라이브러리에 있는 코드를 목적 코드에 삽입하여 최종 실행 파일을 만든다.실행파일을..
교착 상태의 정의2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태교착 상태는 아사 현상과 비슷해 보이지만아사 현상은 운영체제가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제교착 상태는 여러 프로세스가 작업을 진행하다 보니 자연적으로 일어나는 문제 교착 상태의 발생시스템 자원다른 프로세스와 공유할 수 없는 자원을 사용할 때 발생공유 변수한 변수를 할당받은 상태에서 다른 변수를 기다리면 발생응용 프로그램데이터베이스는 일관성을 유지하기 위해 잠금을 사용하는데, 이때 교착 상태가 발생 가능. 자원 할당 그래프프로세스가 어떤 자원을 사용중이고 어떤 자원을 기다리고 있는지를 방향성이 있는 그래프로 표현한 것.프로세스 -> 원 / 자원 -> 사각형여러..
프로세스 간 통신의 개념프로세스 내부 데이터 통신하나의 프로세스 내에 2개 이상의 스레드가 존재하여, 전역 변수나 파일을 이용해 데이터를 주고 받는다. 프로세스 간 데이터 통신같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우로, 공용 파일 또는 운영체제가 제공하는 파이프를 사용하여 통신한다.네트워크를 이용한 데이터 통신 : 여러 컴퓨터가 네트워크로 연결되어 있을 때의 통신 방식으로, 소켓을 이용해 통신한다. 이를 네트워킹이라고 한다. 원격 프로시져 콜도 이에 해당한다. 프로세스 간 통신의 분류 통신 방향에 따른 분류양방향 통신데이터를 동시에 양쪽 방향으로 전송할 수 있는 구조. 소켓 통신이 이에 해당한다.반양방향 통신양쪽 방향 모두에 전송할 수 있지만, 동시 전송은 불가능한 경우. 무전기가 이에 해당한..
스케줄링의 단계 고수준 스케줄링가장 큰 틀에서 이루어지는 스케줄링시스템 내의 전체 작업(1개 또는 여러 개의 프로세스) 수를 조절하는 것어떤 작업을 시스템이 받아들일지 또는 거부할지 결정작업이 시작되면 시스템 자원을 사용하기에 기존 작업에 영향을 미치기 떄문이다. 저수준 스케줄링어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정준비상태 프로세스 -> 실행상태, 실행상태 프로세스 -> 대기상태, 등 프로세스 상태에 관한 내용 중간 수준 스케줄링고수준 스케줄링과 저수준 스케줄링 사이에 일어난 스케줄링중지와 활성화를 하여 전체 시스템의 활성화된 프로세스 수를 조절하여 과부화를 막는다.일부 프로세스를 중지(보류)상태로 옮김으로써 나머지 프로세스가 원만하게 작동하도록 지원한다. 스케..
스레드프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위이다.프로세스가 생성되면 CPU 스케줄러는 프로세스가 해야 할 일을 CPU에 전달하고 실제 작업은 CPU가 수행하는데 CPU스케줄러가 CPU에 전달하는 일 하나가 스레드 이다.작업을 상대적인 크기 순으로 나열하면 job(직업)>task(일)>operation(동작)이 되는데 이를 프로세스와 스레드의 관계에 대입하면 처리 > 프로세스 > 스레드 가 된다.여러 개의 스레드가 모여 프로세스를 이루고 여러개의 프로세스가 모여 처리가 되며 여러개의 프로세스를 모아서 한꺼번에 처리하는 방법을 일괄 작업 이라고 한다.  프로세스와 스레드의 차이프로세스 끼리는 약하게 연결되어 있는 반면 스레드끼리는 강하게 연결되어 있다. 스레드 관련 용어 ..
프로세스의 개념프로그램저장장치에 저장되어 있는 정적인 상태프로세스실행을 위해 메모리에 올라온 동적인 상태  프로그램에서 프로세스로의 전환태스크프로세스에서의 컴퓨터 시스템의 작업 단위 운영체제는 프로그램을 메모리의 적당한 위치로 가져온다. 동시에 프로세스 제어 블록(PCB)을 만든다. PCB 프로세스 구분자(PID)와 메모리 관련 정보, 각종 중간값 등이 저장 해당 프로세스를 관리하는 데이터 구조이기 때문에 운영체제 영역에 만들어진다 프로세스 = 프로그램 + 프로세스 제어 블록프로그램 = 프로세스 - 프로세스 제어 블록  프로세스의 상태생성 상태실행 준비를 완료한 상태프로그램이 메모리에 올라오고 운영체제로 부터 프로세스 제어 블록이 생성준비 상태생성된 프로세스가 CPU를 얻을 때까지 기다리는 상태 프로..
하드웨어의 구성중앙처리장치(CPU), 메인메모리, 입력장치, 출력장치, 저장장치로 구성된다.제1저장장치: 메인메모리 / 제2저장장치: USB...CPU: 명령어를 해석하여 실행하는 장치입/출력장치: 외부의 데이터를 컴퓨터에 입력하는 장치 / 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치저장장치: 자성을 이용하는 장치, 레이저를 이용하는 장치 등...메인보드: CPU와 메모리 등 다양한 부품을 연결하는 커다란 판   폰노이만 구조CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조하드웨어는 그대로 둔 채 작업을 위한 프로그램만 교체하여 메모리에 올리는 방식모든 프로그램은 메모리에 올라와야 실행할 수 있다는 것이 특징   하드웨어 사양 관련 용어클록(clock)  CPU의 속도..
류가든
'CS/운영체제' 카테고리의 글 목록