목록컴퓨터과학 (6)
윤개발
32bit와 64bit의 차이에 대해서 아는가? 32Bit CPU는 레지스터, BUS, ALU등이 한번에 처리할 수 있는 최대 Bit가 32bit이다. 따라서 MAR(Memory Address Register)도 32bit의 크기이고 이는 0~2^32 - 1 만큼의 주소값을 가질수 있다. (약 4GB)반면에 64Bit는 0~2^64 -1 까지의 주소값을 가리킬수 있는데 이는 사실상 무한이다. (16,777,216TB) 이러한 원리로 32bit는 4GB의 메모리만 처리할수 있기 때문에 메모리를 업그레이드 하여도 쓸수가 없다. 운영체제의 메모리 영역 운영체제는 부팅시에 메모리 영역의 최상단에 프로세스로 올라간다. 사용자가 운영체제 메모리에 프로세스를 할당하면 안되기 때문에 메모리 관리자는 경계레지스터를 사용..
교착상태(deadlock)이란? 2개 이상의 프로세스가 다른 프로세스의 자원을 기다리며 더이상 작업하지 못하는 무한대기 상태에 빠지는 것을 말한다. 교착상태의 4가지 조건 4가지 조건을 모두 만족하여야 교착상태이다. 상호 배제: 사용하는 자원이 공유할 수 없는 자원이여야 한다. 비선점: 하나의 프로세스가 다른 프로세스를 선점할 수 없어야 한다. 점유와 대기: 각 프로세스는 어떤 자원을 할당받고 대기상태에 있어야한다. 원형대기: 대기하는 방향이 원형을 이루어야한다.(사이클) 교착상태와 아사현상은 다르다 아사 현상은 정책적인 오류로 인해 작업이 이루어지지 않는 것을 말한다. 에이징등을 통해 해결할 수 있지만 교착상태는 자연스럽게 발생한다. 교착상태 해결법 예방 - 4가지 조건중에 하나를 무력화 하는 방법이다..
프로세스간 통신(IPC) 프로세스 내부 데이터 통신: 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우 전역변수나 파일을 이용하여 데이터를 주고 받는다. 프로세스 간 통신: 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우로 공용파일이나 운영체제가 제공하는 파이프를 사용 네트워크를 이용한 데이터 통신: 프로세스 소켓을 이용하여 데이터를 주고받는다. 동일컴퓨터에서 프로세스에서는 소켓을 이용하지 않는 이유 - 많은 전체리 작업이 있기 때문에 오버레드가 발생한다. 바쁜 대기 전역변수를 사용하는 방식의 가장큰 문제점으로 언제 데이터를 보낼지 몰라 반복문을 무한 실행하며 기다리는 것. ⇒ 해결하기 위해 데이터가 도착했음을 알려주는 동기화를 사용한다. 전역 변수를 이용한 통신 ⇒ 바쁜대기 파일을 이용한 통..
1. 스케줄링의 단계 고수준 스케줄링(승인 스케줄링) 시스템 내의 전체 작업수를 조정한다. 프로세스를 승인할지 거부할지를 결정 중간수준 스케줄링 활성화된 프로세스를 보류상태(또는 중지)로 만들거나 다시 활성화 한다. 저수준 스케줄링이 잘 일어나도록 완충하는 역할을 한다. 시스템의 과부하를 막는 방식 저수준 스케줄링 어떤 프로세스를 CPU에 할당하고 대기, 실행상태로 보낼지 결정하는 스케줄링이다. 순서 작업대기 ==⇒ 보류상태 ==⇒ 활성상태 ==⇒ 실행상태 ==⇒ 종료 고수준 중간수준 저수준 2. 스케줄링의 목적 모든 프로세스가 공평하고 효율적으로 작업하도록 하는 것이다. 먼저 처리해야 하는게 있으므로 일정부분 공평함을 희생한다. 3. 선점과 비선점 선점형 스케줄링: CPU를 할당받은 프로세스를 다른 프..
프로세스는 프로그램을 메모리 상에서 실행중인 것 + PCB(프로세스 제어 블록)을 생성한 것 스레드는 프로세스 안에서 실행되는 흐름 단위 프로세스 하나마다 1개 이상의 스레드를 가지고 있다. 프로세스는 별도의 주소공간을 할당받는다. 코드영역 - 요리책 데이터 영역- 요리 재료, 전역변수와 정적 변수 힙영역- 동적 할당된 데이터 스택영역 - 조리도구, 지역변수, 매개변수, 리턴 값 - 스레드가 할당받는 영역 프로세스는 자신만의 공간을 할당받아 사용하지만 스레드는 다른 스레드와 공간과 자원을 공유하면서 사용한다. PCB에는 아래 정보가 포함된다. 포인터 - 준비상태나 대기상태의 큐 구현을 위해 사용된다. 프로세스 구분자(PID), 프로세스 상태, 프로세스 우선순위, 할당 자원 정보 메모리 관련 정보 - 프로..
하드웨어는 크게 프로세서와 메모리로 분류되며 버스로 연결된다. 1. 프로세서 레지스터, 연산장치, 제어장치로 구분되며 버스로 연결된다. 레지스터 프로세서 내부의 임시 저장장치 용도에 따른 분류 전용 레지스터: 프로세서가 명령어를 수행하는데 필요한 특정 데이터를 저장하거나 읽는데 사용하는 레지스터 → PC, PSR(Program Status R), IR, MAR, MDR(M Data R) 범용 레지스터: 메모리로부터 인출한 일반데이터, 주소 혹은 ALU에서 계산된 값을 임시로 저장할 때 사용하는 레지스터들 사용자가 정보를 변경할수 있는지에 따른 분류 사용자가 운영체제와 같이 프로그램을 이용하여 정보를 변경할 수 있는 데이터레지스터, 주소레지스터 등을 의미한다. 사용자가 조작 불가능한 프로세서 상태나 제어레..