혼자 공부하는 컴퓨터구조 + 운영체제 16

파일시스템

파일과 디렉터리 파일 : 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합 모든 파일에는 이름과 파일을 실행하기 위한 정보, 파일 관련 부가 정보가 존재 해당 부가정보들을 속성 또는 메타데이터라고 부른다. 파일 속성과 유형 속성 이름 의미 유형 운영체제가 인지하는 파일의 종류를 나타낸다. 크기 파일의 현재 크기와 허용 가능한 최대 크기를 나타낸다. 보호 어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지를 나타낸다. 생성 날짜 파일이 생성된 날짜를 나타낸다. 마지막 접근 날짜 파일에 마지막으로 접근한 날짜를 나타낸다. 마지막 수정 날짜 파일이 마지막으로 수정된 날짜를 나타낸다. 생성자 파일을 생성한 사용자를 나타낸다. 소유자 파일을 소유한 사용자를 나타낸다. 위치 파일의 보조기..

교착 상태

식사하는 철학자 문제라는 고전적이고 재밌는 문제 상황이 있다. 동그란 원탁에 다섯 명의 철학자가 앉아 있는데 철학자들 사이 사이에는 식사에 필요한 포크가 있다. 그리고 철학자들 앞에 있는 식사는 두 개의 포크로 먹을 수 있는 음식이 있다고 가정해보자. 철학자들은 아래와 같은 순서로 식사를 할 수 있다. 왼쪽 포크가 사용 가능하면 집어든다. 오른쪽 포크가 사용 가능하면집어든다. 왼쪽과 오른쪽 포크를 모두 집어들면 정해진 시간동안 식사를 한다. 식사 시간이 끝나면 오른쪽 포크를 내려놓는다. 으론쪽 포크를 내려놓은 뒤 왼쪽 포크를 내려놓는다. 다시 1번부터 반복한다. 순서를 보면 아무 문제 없지만 모든 철학자가 동시에 포크를 집는다면 누구도 식사할 수 없다. 이렇게 진행이 멈춰 버리는 현상을 교착 상태(dea..

프로세스 동기화

동기화 : 실행 순서와 자원의 일관성을 보장 프로세스들간의 수행 시기를 맞추는 것 실행 순서 제어 : 프로세스를 올바른 순서대로 실행하기 동시에 실행되는 프로세스를 올바르게 순서대로 실행하지 않으면 값이 꼬이기 때문에 실행 순서 제어를 해줘야 한다. 상호 배제 : 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 A, B 프로세스가 D = 10이라는 자원에 접근을 하는데 A는 2를 더해주고, B는 10을 더해준다고 생각해보자 A = D + 2, B = D + 10 을 해주는데 순서대로허면 10 -> 12 -> 22가 된다. 하지만 동시에 접근하면 10 -> 12 -> 20 이렇게 D에 동시에 접근하게 되서 이상한 값이 된다. 그래서 다른 프로세스가 접근하면 또 다른 프로세스는 대기 해야 한..

CPU 스케줄링

CPU 스케줄링 : 운영체제가 프로세스들에게 공정하고 합리적인 CPU자원을 배분하는 것. 프로세스마다 우선순위가 다르다. 우선순위가 높은 프로세스란 빨리 처리해야하는 프로세스들을 의미한다. 입출력 작업이 많은 프로세스를 먼저 실행하는것이 효율적이다. 입출력 작업을 담당하는 입출력 집중 프로세스는 실행 상태보다 입출력을 위한 대기 상태에 더 많이 머물기 때문이다. 반대로 CPU 작업을 답당하는 CPU 집중 프로세스는 대기 상태보다는 실행 상태에 더 많이 머문다. 그렇기 때문에 CPU 집중 프로세스와 입출력 집중 프로세스가 모두 동일한 빈도로 CPU를 사용하는 것은 비합리적이다. 즉, 입출력장치가 입출력 작업을 완료하기 전까지는 입출력 집중 프로세스는 어차피 대기 상태가 될 예정이기 때문에 입출력 집중 프로..

프로세스와 스레드

프로세스 : 프로그램은 실행되기 전까지는 그저 보조기억장치에 있는 데이터 덩어리일 뿐이지만, 보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간 그 프로그램은 프로세스가 된다. 사용자가 보는 앞에서 실행되는 포르세스는 포그라운드 프로세스 사용자가 보지 못하는 뒤편에서 실행되는 프로세스는 백그라운드 프로세스 백그라운드 프로세스를 유닉스 체계의 운영체제에서는 데몬이라고 부른다. 윈도우 운영체제에서는 서비스라고 부른다. 프로세스 제어 블록 운영체제는 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 CPU를 비롯한 자원을 배분한다. 운영체제는 프로세스 제어블록(PCB: Process Control Block)이하 PCB를 이용한다. 프로세스 제어 블록은 프로세스와 관련된 정보를 ..

운영체제 시작

데스크톱 운영체제 윈도우 macOS 리눅스 스마트폰 운영체제 안드로이드 IOS 운영체제란? 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행 되도록 돕는 특별한 프로그램 메모리 내 커널영역(kernel space)라는 공간에 따로 적재되어 실행된다. 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자영역이라고 한다. 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리한다. 최대한 공정하게 여러 프로그램에 CPU 자원을 할당한다. 운영체제 서비스로 프로세스 관리, 자원 접근 및 할당, 파일 시스템 관리가 있다. 응용프로그램은 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 ..

입출력장치

장치 컨트롤러는 CPU, 메모리보다 다루기가 더 까다롭다 입출력장치에는 종류가 다양하다. 키보드, 모니터, USB메모리, CD-ROM, SSD, 마우스, 프린터, 스피커, 마이크 등 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다. 전송률이란 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표. 이와 같은 이유로 입출력장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러라는 하드웨어를 통해 연결된다. 또한 장치 컨트롤러는 입출력 제어기, 입출력 모듈 등 다양하게 불린다. 장치컨트롤러의 역할 CPU와 입출력장치 간의 통신 중개 오류 검출 데이터 버퍼링 버퍼링이란 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하..

보조기억장치

하드디스크 ? 하드디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치. 플래터 : 실직적으로 데이터가 저장되는 곳 스핀들 : 플래터를 회전시키는 구성 요소 헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소 디스크암(액츄에이터암) : 헤드를 원하는 위치로 헤드를 이동시키는 구성 요소 트랙 : 여러 동심원으로 나눴을 때, 그 중 하나의 원을 트랙이라 부름. 섹터 : 트랙의 조각 플래터 : 하나 이상의 섹터를 묶어 블록이라고 표현하기도 한다. 실린더 : 여러 겹의 플래터 상에서 같은 트랙의 위치 한 곳을 모아 연결한 논리적 단위 하드디스크가 저장된 데이터에 접근하는 시간은 3가지로 나뉜다 탐색시간 : 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미 회전지연 : 헤드가 있는 곳으로 플래터를 ..

메모리와 캐시 메모리

RAM의 특징과 종류 RAM은 전원을 끄면 저장된 명령어와 데이터가 모두 날라간다. 저장된 내용이 사라지는 저장 장치를 휘발성 저장 장치(volatile memory)라고 한다. 반면, 전원이 꺼져도 저장된 내용이 유지되는 저장 장치는 비휘발성 저장 장치(non-volatile memory)라고 한다. 하드디스크나 SSD CD-ROM USB 메모리 RAM 보조기억장치 실행할 대상 보관할 대상 휘발성 저장 장치 비휘발성 저장 장치 RAM 용량이 크면 프로그램을 동시에 실행하는데 유리하다. 만약 RAM이 크지 않다면, 보조기억장치에서 적은 데이터를 가져와 미리 RAM에 저장을 하고, 여러 번 가져오게 된다. RAM의 종류 DRAM : Dynamic RAM의 준말. 시간이 지나면 저장된 데이터가 점차 사라..

CPU 성능 향상 기법

CPU 성능을 높이기 위해서 클럭 클럭속도는 헤르츠(Hz)단위로 측정한다. 이는 1초에 클럭이 몇 번 반복되는지를 나타낸다. 클럭속도가 높은 CPU는 빠르게 동작한다. 하지만, 클럭속도를 무작정 높이게 되면 발열 문제가 심각해진다. 코어와 멀티코어 코어란 ? CPU내에서 명령어를 실행하는 부품으로 여러 개 있을 수 있다. 멀티코어 CPU 또는 멀티코어 프로세서란 ? 코어가 여러개 있는 것. 즉, CPU 내에 명령어를 처리하는 일꾼이 여러 명 있는 것이다. 하지만 이것도 마찬가지로 코어 수에 비례하여 속도가 증가하지 않는다. 만약 10명의 일꾼이 있는데(10개의 코어), 일해야할게 10개라면 각각 돌아가서 빠르게 처리되겠지만, 일해야할게 1개라면, 일꾼이 1명이거나 10명이거나 차이는 없을 것이다. 중요한..

반응형