브래의 슬기로운 코딩 생활
운영체제 중간고사 키워드 정리 본문
운영체제
임베디드 운영체제
펌웨어
시스템 소프트웨어
부팅
1940년대 - 애니악
1950년대 - 천공카드 시스템, 일괄작업 시스템
1960년대 - 대화형 시스템, 시분할 시스템, 다중 프로그래밍
1970년대 - 분산 시스템
1990년대 - 클라이언트/서버 시스템
2000년 이후 - P2P시스템, 그리드 컴퓨팅, 클라우드 컴퓨팅, 사물 인터넷
커널
인터페이스
디바이스 드라이버
단일형 구조 커널
계층형 구조 커널
마이크로 구조 커널
가상머신
유닉스
리눅스
애플II
윈도우
안드로이드
중앙처리장치(CPU), 주 메모리
입력장치, 출력장치, 저장장치(디스크)
메인보드 (마더보드)
폰노이만 아키텍처 - 하나의 버스로 연결
하버드 아키텍처 - 분리, 복잡, 단가 상승
클록, 헤르츠
시스템 버스 - 전면 버스
CPU 내부버스 - 후면 버스
캐쉬: 전면 버스와 후면 버스의 속도 차이 해결
제어 버스: 양방향
주소 버스: 단방향
데이터 버스: 양방향
버스의 대역폭: 한 번에 전달할 수 있는 데이터 크기
휘발성 메모리
비휘발성 메모리
롬
메모리 보호
부팅
버퍼
스풀
캐시: 메모리의 데이터를 미리가져와 저장
캐시 히트: 캐시에 원하는 데이터 있음
캐시 미스: 원하는 데이터 없음
캐시 적중률: 캐시 히트 비율
즉시 쓰기: 캐시 항상 채크
지연 쓰기: 캐시 주기적 채크
폴링 방식:CPU가 직접 입출력장치에 데이터를 가져옴
인터럽트 방식: 입출력관리자 시킴
직접 메모리 접근
메모리 매핑 입출력
사이클 훔치기
병렬 처리
파이프라인 기법
슈퍼스칼라 기법
파이프라인의 위험: 데이터 위험. 제어 위험, 구조 위험
슈퍼스칼라 기법
슈퍼파이프라인 기법
슈퍼파이프라인 슈퍼스칼라 기법
VLIW기법
CISC: 메모리 참조 연산 많음, 레지스터가 적음
RISC: 연산적음, 레지스터가 많음
무어의 법칙: CPU속도가 1년에 1.8배 빨라진다는 내용
암달의 법칙: 컴퓨터 시스템의 일부를 개선해도 시스템에 미치는 영향을 수식으로 나타냄
프로그램
프로세스
프로세서
프로세스 제어 블록 Process Control Block
프로세스 상태: 생성, 준비, 실행, 대기, 완료 상태
디스패치: 대기 상태에서 실행 상태로 변하는 과정
타임아웃 또는 인터럽트: 실행상태에서 준비상태로 진입을 위한 이벤트
프로세스 기타 상태: 좀비 상태, 정지 상태
스레드: 프로세스의 최소 단위
멀티 테스크: 하나의 업무 수행 위해 여러개의 프로세스
멀티 스레드: 하나의 프로세스에 여러개의 스레드
스레드 제어 블록: Thread Control Block
멀티 스레드/테스킹/프로세싱
멀티 스레드: 운영체제가 소프트웨어 적으로 프로세스를 작은 단위의 스레드로 분할
하이퍼 스레딩 기술: 물리적인 코어 하나를 가상의 논리적인 코어 두 개로 할당하는 기술
멀티 스레드 모델: 사용자 레벨 스레드, 커널 레벨 스레드, 멀티 레벨 스레드
쉘 변경 명령어:chsh
프로세스들에 대한 상세 정보 표시: ps
지정한 프로세스에게 시그널 전송: kill
문맥 교환: CPU를 차지하던 프로세스를 옮기고 새로운 프로세스 실행
메모리내 프로세스 구조: 코드영역, 데이터 영역, 스택 영역, 힙 영역
fork() 시스템 함수: 자신과 동일한 프로세스를 자식 프로세스로 생성
스케쥴링: 프로세스가 작업을 처리하기 위해 CPU 할당을 위한 일정을 처리
스케쥴링 정책: 정해진 시간에 프로세서를 점유할 프로세스를 선택
스케쥴링 단계: 상위단계, 중간단계, 하위단계 스케쥴링
선점형 스케쥴링: 운영체제가 필요하다고 판단하면 프로세스 중단
비선점형 스케쥴링: CPU사용 중에는 다른 프로세스는 대기
전면 프로세스: 현재 입력, 출력을 사용하는 프로세스
후면 프로세스: 백그라운드 프로세스
Ctrl + Z: 정지
jobs: 동일 쉴내 작업들 출력
fg: 전면으로 전환
bg: 후면으로 전환
CPU사용률:
대기 시간: 프로세스가 생성된 후 실행되기 까지의 시간
응답 시간: 첫 작업을 시작한후 첫 번째 출력이 나오기 까지의 시간
실행 시간: 시작하고 종료까지의 시간
반환 시간: 대기 시간을 포함하여 실행이 종료될 때까지의 시간
평균 대기 시간
FCFS: 선입선출
SJF: 최단 작업 우선
HRN방식: 최고응답률 우선
라운드 로비 스케줄링:한 프로세스가 할당 받은 시간동안 작업, 선점형 알고리즘의 단순하고 대표적인 방식
SRT방식: 라운드 로빈+SJF
cat – 지정한 파일의 내용을 출력
more – 페이지 단위로 출력
tail[?] - 뒤에서 ? 만큼 출력
head[?] - 앞에서 ?만큼 출력
pico에디터
VI에디터
GCC: 컴파일 명령어
프로세스간 통신의 개념
프로세스간 데이터를 공유하기 위한 방법
프로세스 간의 통신
IPC기법 종류: 시그널, 인터럽트, 공유파일, 파이프, 공유메모리, 메시지 큐
단방향 통신 ,양방향 통신, 반양방향 통신
대기가 있는 통신,대기가 없는 통신
임계구역 /CRITICAL AREA
임계구역 해결 조건: 상호배제, 한정 대기, 진행의 융통성, 세마포어
Dead Lock: 프로세스가 오도가도 못하는 상태
아사 현상: 특정 프로세스의 작업이 끊임없이 지연되는 문제
기아 상태: 무한히 대기하고 있는 상태
임계변수 값음 상호 변경 상태를 대기
세마포어의 교착상태
자원할당 그래프
다중 자원
식사하는 철학자 문제 해결 방법: 포크개수보다 철학자를 줄임
교착상태 필요조건: 상호 배제, 비선점 점유와 대기, 원형 대기
은행원 알고리즘 - 프로세스가 요구한 자원의 수가 현재 남은 자원의 수보다 작을 때 할당
하버만 알고리즘 – 은행원 + 여러 가지 자원 할당
'2-1 > 운영체제' 카테고리의 다른 글
운영체제 9주차 정리 - 2 (0) | 2023.04.27 |
---|---|
운영체제 9주차 정리 - 1 (0) | 2023.04.27 |
운영체제 중간고사 정리 (0) | 2023.04.15 |
운영체제 8주차 중간고사 공지 (0) | 2023.04.13 |
운영체제 7주차 정리 - 2 (0) | 2023.04.10 |