티스토리 뷰
운영체제의 개념 -
운영체제란 사용자가 응용 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공함
커널(Kernel) - 사용자와 컴퓨터 하드웨어에서 중재 역할을 함.
펌웨어와 장치 드라이버를 통해 하드웨어 제어권을 얻음.
RAM을 통한 프로그램을 위한 기억 장치 접근을 관리하며, 자원 관리를 배분함.
CPU / 메모리 / 디바이스 등을 관리함.
사용자 인터페이스(User Interface) / 셸(Shell) - 사용자가 컴퓨터 시스템을 운용할 수 있게 해줌.
다양한 종류의 입력을 받으며 Shell에서 유추할 수 있듯이 명령 줄(콘솔) 인터페이스, 그래픽 사용자 인터페이스(GUI)로 나뉨
서버는 콘솔을, 일반인은 GUI를 자주 사용하는 편.
유틸리티 프로그램(Utility) - 기본적으로 설치된 필수 프로그램.
운영체제의 종류 -
데스크탑용 운영체제 - Windows, Mac OS, Linux
서버 운영체제 - Unix, Windows Server, Linux Server
모바일 운영체제 - Android, IOS, Windows Mobile
운영체제의 운영 방식 -
명령 처리 방식에 대해서 분류하면,
싱글태스킹 / 멀티태스킹 운영체제 -
싱글태스킹은 단독으로 하나의 프로그램만 실행할 수 있으나,
멀티태스킹은 여러 프로그램을 동시에 실행할 수 있으며 선점 / 비선점으로 나누어짐.
선점형 - 자원을 쪼개서 할당함 남의 자원을 뺏어올 수 있음.
비선점형 - 자원을 한번 할당받으면, 끝날 때까지 자원을 할당받음.
분산 운영체제 -
컴퓨터 여러 대를 하나로 묶어서 서로 통신하게 함.
연산들은 하나 이상의 컴퓨터에서 수행되며, 컴퓨터들이 협업 시 분산 시스템을 형성시킴.
실시간 운영체제 -
실시간 운영체제는 짧은 시간 내에 이벤트, 데이터의 처리를 보증하는 운영체제.
싱글 / 멀티태스킹 둘 다 가능, 멀티태스킹은 스케줄링 알고리즘을 사용한다.
운영 시스템에 따라서 분류하면,
개인용 컴퓨터 운영체제 -
MS - DOS 처럼 명령줄 인터페이스를 주로 사용했으나,
요즘은 Mac OS나 Windows, Linux 등등을 사용.
GUI를 주로 사용함.
메인프레임 운영체제 -
일반적으로 다중 사용자 운영체제를 사용하고 있으며, 초기에는 명령 줄 사용자 인터페이스를 주로 사용.
최근에는 GUI를 주로 사용함. 주로 사용되는 운영체제는 Unix, Solaris 등이 있다.
임베디드 운영체제 -
제한적인 기기 환경에서 운영하도록 설정되어 있으며,
제한된 자원으로 동작하기에 작고 효율적인 설계로 이루어짐.
Embeded Linux, Windows CE, Android GO 등등이 있음.
컴퓨터 성능 저해로 발생할 수 있는 문제
- 컴퓨터가 켜지지 않거나 매우 느리게 켜짐
- 갑자기 재부팅
- 프로그램이 실행되지 않음
- 인터넷 혹은 네트워크에 연결되지 않음
- 특정 사이트로 리다이렉트됨
- 개인 정보가 유출됨
네트워크 환경에서 발생 가능한 문제
- 내외부적 네트워크 연결 불가
- 지정 업무 파일 서버에 접근할 수 없음
- 네트워크 접근 속도가 매우 느림
- 공유 프린터 사용 불가
- 메일 송수신 불가
PCB - 프로세스 제어 블록 - 프로세스의 정보를 관리하는 테이블
프로세스의 상태: 실행 상태인지 준비 상태인지에 관한 정보
프로그램 카운터 값: 다음에 실행될 명령어 주소
스케줄링 정보: 스케줄링 정책, 우선 순위를 의미
주기억 장치 정보: 해당 프로세스가 어느 영역에 위치했는지 저장
프로세스의 상태:
문맥 전환 - 프로세스가 다 안끝난 상태로 다음 프로세스랑 전환하려고 할 때 저장해두는것
FCFS 스케줄링 - First - Come, First - Served
RR 스케줄링 - Round Robin , 일정 주기만큼 돌아가면서
우선순위 대기 - PCB에 우선순위를 매기고 이를 기반으로 배정함
교착 상태 - 프로세스가 서로 맞물려서 실질적으로 아무것도 완료되지 못한 상태를 가리킨다.
교착 상태가 발생하려면,
1. 상호 배제 - 프로세스가 유도리없이 자원 공유를 허가하지 않을 때
2. 점유 대기 - 이미 자원을 할당하고 있는 프로세스가 그 상태에서 다른 자원을 기다릴 때
3. 비선점 - 프로세스가 끝날 때까지 자원을 뺏을 수 없을 때
4. 순환 대기 - 서로 꼬리에 꼬리를 물고 다음 프로세스에게 필요한 자원을 가진다
이 4가지 조건을 모두 달성해야함.
교착 상태의 관리 -
교착 상태를 막는 것은 힘들기에, 교착 상태를 예방하거나 무시, 발견하는 방법으로 관리한다
예방 -
상호배제의 조건의 제거: 공유가 불가능하도록 구역을 제한해서 예방
점유와 대기 조건의 제거: 자원을 요청하여 획득하거나 자원이 없을 때만 요청하도록 함
비선점 조건의 제거: 비선점 프로세스에 대해 선점 가능하도록 함
환형 대기 조건의 제거: 자원 대기 조건을 부여해서 순서를 할당한다
회피 -
자원 요청 추가 정보를 제공하도록 요구,
자원 할당 그래프 알고리즘: 사이클이 생기는 것을 알아채면 교착 상태가 있을 것이라 유추
은행원 알고리즘
무시 -
확률이 낮을 경우 무시하고 냅두기
발견 -
검출 알고리즘을 통해서 관리할 수 있으나, 성능에 영향을 미침.
1 - 1. 반입 기법
요구 반입 (demand fetch) - 필요할 때 주기억 장치에서 꺼내주세요
예상 반입 (anticipatory fetch) - 이거 달라고 할 테니까 미리 주기억 장치에서 가져와야지
1 - 2. 배치 기법
최초 적합 (first fit) - 프로그램이나 데이터가 들어갈 수 있는 가장 처음 만난 영역
최적 적합 (best fit) - 프로그램이나 데이터의 크기와 가장 비슷한 영역
최악 적합 (worst fit) - 프로그램이나 데이터가 들어갈 수 있는 가장 큰 영역
2. 주 기억 장치 교체 기법
프로그램이나 데이터로 꽉 차서 새 것을 집어넣어야 할 때, 운영체제는 메모리를 비우고 교체한다.
2 - 1. FIFO - First in, First Out 선입선출
배치된 시간이 가장 오래된 영역을 교체한다.
A B C 순서로 들어갔을 때, 새로 D가 들어간다면 가장 먼저 들어간 A의 자리에 D가 들어가게 된다.
2 - 2. LRU - Least Recently Used, 가장 오래전에 참조한 것
참조된 부분 중에서 가장 오래 전에 참조된 것을 교체한다.
A - B - B - C - A 순서라고 가정하면, 3번째에 참조된 B가 교체된다.
조건이 같으면 FIFO 실행.
=> LRU는 주 기억 장치에 시간 저장 필요
2 - 3. LFU - Least Frequently Used, 가장 적게 참조한 것
참조된 부분 중에서 가장 적게 참조된 것을 교체한다.
A - B - B - C - A 순서라고 가정하면, 1번 참조된 C가 교체된다.
=> LFU는 주 기억 장치에 횟수 저장 필요
단편화 -
배정된 부분이 실제로 쓰는 부분보다 작으면 잉여 공간이 생기겠지?
배정받은 것에서 사용하지 않는 게 있다면 내부 단편화. (100 = 80 usage + 20 empty)
만약 중간을 차지하는 등 배정받을 수 있는 공간이 없을 때를 외부 단편화라고 함.
(120을 배정받아야 하는데 중간에 하나 배정받아서 100과 20으로 나누어졌다거나)
1. 통합 기법 - 근처에 있는 공간을 모아서 하나의 공간으로 만들기
2. 압축 기법 - 단편화된 모든 공간을 결합해서 큰 공간을 만들기
'공부 > 컴시' 카테고리의 다른 글
자원과 프로세스 (0) | 2022.09.15 |
---|---|
컴퓨팅 시스템의 성능 저해 요인 (0) | 2022.09.01 |
컴시 - 대단원 평가 (0) | 2022.06.14 |
컴시 - 카르노 맵과 순서 논리 회로 (0) | 2022.06.07 |
컴시 - 네트워크 정리 (0) | 2022.05.20 |
- Total
- Today
- Yesterday
- 2진수
- 8진수
- 디지털논리회로
- Unity
- 보수
- 2D
- 게임개발
- 확장자
- 자스
- 특성화고
- C#
- 컴퓨터시스템
- 스크립트
- 고1사회
- 유니티
- 논리
- 컴시
- js
- javascript
- 사회현상보고서
- 조립PC
- 진수
- 특성고
- 화소
- 16진수
- 진법
- 자바스크립트
- 존버
- 입문
- 픽셀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |