728x90

# 마이크로커널 구조 (microkernel architecture)

- address spaces

- interprocess communication (IPC) : 프로세스간 대화하는 것

- basic scheduling

* 일체형 : 단일체 

 

 

# 멀티쓰레딩 (multithreading) **************
- 프로세스는 두 개이상의 쓰레드로 구성됨 (자원(힙 등)을 공유 가능)
- 한 개의 프로세스를 동시에 수행될 수 있는 여러 개의 쓰레드들로 나누어 병행적으로 실행
- 경량 (프로세스에 여러 개의 쓰레드가 자리해서 자원 공유하므로)

 
* 쓰레드 : cpu에 작업을 할당하는 디스패칭 단위
* 디스패치 : 프로세스를 스케줄링 해줌, cpu 작업을 할당, 그 작업이 수행된다

 

* 문맥 : 프로그램이 돌다가 어디까지 수행됐는지 저장
* 컨테이너 : 하나 이상의 시스템 자원들을 담고 있음


***** 쓰레드와 프레서스 차이 ? 그림 그려가면서 설명 (시험) *****


# SMP 구조
- 다중 처리
- 블록 상태 : 수행되다가 기다리는 상태
- 인터리빙 : 서로 교차적으로 수행, 어느 시간에 누군가는 수행되고 있음, 처리율 향상

cpu 2개면 동시 수행 가능

# 분산된 운영체제

분산 : 질의적으로 떨어짐

                                                                                             
# 결함허용(fault tolerance)  *****영어로도

- 24시간 nonstop으로 돔

- 하드웨어, 소프트웨어에도 불구하고 시스템이 계속 정상 작동할 수 있는 능력
- 여분 설비(redundancy) 필요

- 은행, 금융사, 항공사, 정부통합전산센터

- load balancer : 짐을 분산시킴, 균형있게 맞춰줌

- failover : 고장남, 자동적으로 넘어가게 함

 

# 결함허용 수준 측정 단위

- 신뢰성

- MTTF : 결함이 발생하기까지의 평균 시간

- MTTR : 수리완료까지의 평균 시간)

- SLA(service leverl agreement 서비스레벨협약) : cloud service

0.99999 : 여간 다운타임은 5분

 

active : 수행중

standby : 대기

중복 둠 : 미러링

시스템이 작동되다가 미러링 거울처럼 X2로 둠, 망가지면 미러링된 걸 씀, 망가진 것 고침

 

가상 기계 : 운영체제 이름

 


# 멀티코어
-  ~16

# 매니코어
-  ~256

 

- 두뇌가 여러개

- 운영체제는 어떻게 용량을 최소 활용할것인가, 자원을 어떻게 잘 관리할 것인가

- 병렬성, 동시성 향상 => 속도가 빨라짐

 

# GCD (grand central dispatch)

- 응용 내 병령성 지원도구


# 가상 기계(VM) 방식

- cpu가 자신의 모든 성능을 그 프로세스를 위해서만 사용

- 호스트 운영체제는 윈도우, 유닉스, 리눅스, 여러 가지 운영체제 깔림
- 하드웨어 아님

- 효율적으로 사용

- 병렬성, 동시성 향상

# windows

- 하드웨어 추상화 계층

- 커널

- 시스템 서비스

- windows 8 가장 중요

- 시스템 운영은 쓰레드 단위로

- 어떤 플랫폼이든 쓸 수 있게 함

 

# 전통적인 UNIX 시스템 
- shell : 명령어 확인하고 실행되는 것
- 리눅스의 오리지널

- c언어로 구성

- 하드웨어를 둘러싸고 있는 건 커널(운영체제 핵심 부분)

- 시스템 함수 : read, write

 

# 최근 UNIX 시스템
- solaris 10 : 가장 상업적으로 성공한 유닉스
- sun사가 oracle에 합병

 

# Linux (리눅스)

- 널리 퍼짐

- 마이크로커널 방식 사용하지 않음

- 무료 sw 패키지

- 하드웨어 플랫폼 상에서 성능 좋음

- 머신 인터페이스 : 디바이스, 메모리, cpu

- 모듈화된 구조

 

# 모바일 운영체제 
- 모바일에 탑재된 운영체제

# 안드로이드 운영체제
- 리눅스 모바일 버전이 안드로이드
- 리눅스 커널

- 필요한 기능(소프트웨어)들이 모여진 SW스택이라고 할 수 있음
* 스택 (LIFO)

 


# WSL (Windows Subsystem for Linux)

- 윈도우즈에서 리눅스 명령을 cmd, powersheell 등을 통해 직접 실행

 

# 리눅스 명령어 형식

명령어 -옵션 인수

- 명령어는 반드시 소문자

- 공백 필요

 

# pwd (print working directory)

- 작업중인 디렉토리 출력

 

# ls

- 디렉토리 내용 보기

 

# mkdir directoryname

- 디렉토리 생성

 

# cd directoryname

- 디렉토리 이동

- 인수가 없는 경우 사용자의 홈디렉토리로 이동

 

# cat

cat > filename : 파일 생성

cat -n filename : 파일 내용 확인

ctrl + d : 저장하고 빠져나옴

 

# mv 

mv -i oldfilename newfilename : oldfile을 newfile로 변경

mv -i filename directoryname : filename을 dictoryname으로 이동

-i : 변경사항과 같은 파일이 이미 존재하는 경우 사용자에게 확인

 

# cp

파일 복사

cp -i oldfile newfile

cp -r olddirectory newdirectory

-r : olddirectory 내부에 있는 모든 파일과 서브디렉토리를 newdirectory로 복사

 

# rmdir 

디렉토리 제거 (디렉토리 비어있어야 함)

rmdir directoryname

rm -r : 디렉토리와 디렉토리 내부를 전부 제거

 

# rm

파일 제거

rm filename

rm * :  모든 파일 제거

 

# 파일 편집기

vi 에디터 호출

test.c 파일 들어가서 i 누르면 insert 모드

입력 다 한 후 esc :wq! enter 누르면 저장되고 빠져나옴

 

# gcc 컴파일러

# apt update

sudo apt update

sudo apt upgrade

 

# gcc 컴파일러 설치

sudo install gcc

sudo : 관리자 권한으로 명령어 실행

 

 

# nano editor 사용

nano main.c

소스 입력후 ctrl + x 누르고 y키 누르면 저장 enter 누르고 빠져나옴

 

# gcc 컴파일 & 실행

gcc 컴파일할 파일 : a.out 파일 자동 생성

./a.out 입력하면 실행파일 실행

 

gcc -o 실행파일 이름 컴파일할 파일

./실행파일 이름 : 실행파일 실행

test.c : 컴파일할 파일

test.out : 실행파일 이름

 

반응형

'전공 공부 > 운영체제' 카테고리의 다른 글

운영체제 9주차 강의  (0) 2021.04.27
운영체제 7주차 강의  (0) 2021.04.13
운영체제 5주차 강의  (0) 2021.04.04
운영체제 3주차 강의  (0) 2021.03.16
운영체제 2주차 강의  (0) 2021.03.09
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기