[리눅스] 파티션 설정, 마운트 및 fstab 영구 마운트

Posted by nkjok
2019.09.03 15:39 리눅스

공퓽의 트위치 방송 채널
Chu레쉬의 유튜브 채널

fdisk /dev/sdb 명령어

n
p, e p는 주파티션 e는 확장파티션
p 눌러준다
1 파티션번호 지정 sdb1, sdb2
시작섹터랑 마지막섹터 설정나오는데
그냥 엔터쳐서 넘어가면 된다
p 눌리면 생성된 파티션 확인가능
w 눌리면 저장하고 빠져나온다

--
q 는 저장안하고 나가는거
d 는 삭제
m 눌리면 명령어 전부다 출력
--

파티션을 나눈다면
펄스트 섹터는 그냥 엔터하고
라스터 섹터는 +2G (+1G) 설정해주고
엔터 하면 생성 된다

--
이제 포맷을 한다
mkfs.ext4 /dev/sdb1
위 명령어를 입력하면
mkfs가 메이크 파일 이런말이다
메이크파일시스템 약자
--
이제 마운트를 시켜줘야한다
media/mydata 라고 폴더를 하나만들어서
여기다 마운트 시킨다
*폴더에 파일들을 담아놓고 그폴더에 하드나 시디를
마운트시키면 마운트된 파일들이 링크되고
기존에 담아둔 파일들은 보이지 않는다
파일을 숨길수 있는 팁

마운트를 무한으로 하기
재부팅하면 마운트가 해제될수 있는데
매번 마운트 하려면 번거로우니까
마운트 고정시키는법
gedit /etc/fstab 를 열어 수정한다
--

#
# /etc/fstab
# Created by anaconda on Thu Apr 20 01:36:30 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=7e5907e0-daeb-4abc-ada8-e508a976208e / xfs defaults 1 1
UUID=cca247a2-1106-49ee-b1ab-f2dd4c59522b swap swap defaults 0 0
--
/dev/sdb1 /mydata ext4 defaults 1 2
위처럼 맨 아래 다음줄에
/dev/sdb1 /mydata ex4 def.. 1 2를 추가해준다

1 첫번째 1은 덤프를 사용할건가 사용하지않을건가
2 두번째는 2는 파일시스템이 이상있나없나 체크하는거
2로 하는이유는
첫번째 하드를 먼저체크하고
내가 장착한 하드를 체크하겠다
첫번째껀 사용하면 1 안하면 0
두번쨰껀 1, 2 밖에없다
3번쨰 하드를 추가로 달아줘도 2로 설정해주면된다

df 명령어
디스크파티션 약자
어떻게 마운트 되어있는지 확인하는 명령어

#
# /etc/fstab
# Created by anaconda on Thu Apr 20 01:36:30 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=7e5907e0-daeb-4abc-ada8-e508a976208e / xfs defaults 1 1
UUID=cca247a2-1106-49ee-b1ab-f2dd4c59522b swap swap defaults 0 0
/dev/sdb1 /mydata ext4 defaults 1 2

맨밑줄에 이렇게 추가해준다
하드를 만약 탈착할 경우
위에 추가해준 글도 지워야 부팅이 된다

이 댓글을 비밀 댓글로

2019년도 (2)학기 (전자계산기구조) [진행 중]

Posted by nkjok
2019.08.29 17:19 학점은행/2019-2학기
공퓽의 트위치 방송 채널
Chu레쉬의 유튜브 채널

전자계산기구조


목차


  전자계산기구조 목차

  1. 컴퓨터 시스템의 구성 요소와 역사
  2. 컴퓨터의 분류
  3. 컴퓨터 정보의 표현
  4. 진법 변환




-------------------------------------------------------------------------
------------------------------------------




1차시 컴퓨터 시스템의 구성 요소와 역사



Computer

사람의 지시에 따라 자동적으로 처리해 주는 전자 장치이다. 데이터를 입력하고 처리하고 필요에 따라 저장하고 결과를 출력해주는 전자장치이다.



Data

어떠한 사실, 개념, 명령 또는 과학적인 실험이나 관측 결과로 얻은 수치나 정상적인 값 등 실체의 속성을 숫자, 문자, 기호 등으로 표현한 것이다.



Program

명령어들의 나열이다.



컴퓨터는 하드웨어와 소프트웨어로 구성됩니다. 하드웨어와 소프트웨어 중 더 중요한 것은 무엇일까요?
컴퓨터에서 기계에 해당되는 하드웨어 장치만으로는 아무 일도 할 수 없습니다.
컴퓨터의 하드웨어가 무엇을 어떻게 할 것인지를 지시해 주는 소프트웨어가 반드시 필요합니다.
물론 소프트웨어가 훌륭하더라도 하드웨어가 없는 컴퓨터는 있을 수 없겠지요?
단지, 비약적인 발전을 거듭하는 하드웨어에 비해 소프트웨어는 매우 느린 속도로 발전합니다.
따라서 소프트웨어가 더 중요하다는 의견도 있지만, 하드웨어와 소프트웨어 모두 중요하다고 생각해 주면 좋을 것 같습니다.


컴퓨터 시스템의 구성
컴퓨터는 하드웨어와 소프트웨어로 구성된다.


하드웨어
중앙처리장치, 기억장치, 입출력 장치로 구성된다.
중앙처리장치에는 산술논리연산장치, 제어장치, 레지스터가 포함된다.
기억장치에는 레지스터, 캐시기억장치, 주기억장치, 보조기억장치가 포함된다.


소프트웨어
소프트웨어는 시스템소프트웨어와 응용소프트웨어로 구성된다.
하드웨어의 발전에 따라 소프트웨어의 중요성이 증가되고 있다.


컴퓨터의 발전 과정
1946년 최초의 디지털 컴퓨터인 ENIAC으로 시작하였다.
EDSAC, EDVAC 컴퓨터는 최초의 프로그램 내장방식을 적용한 컴퓨터이다.
최초의 상업용 컴퓨터는 UNIVAC이다.

# 컴퓨터의 5대 장치 (5대 요소)
1. Input (입력)
2. Process (처리) - 연산, 제어
3. Storage (저장)
4. Output (출력)
=> 입력, 연산, 제어, 저장, 출력 (5개)


------컴퓨터 역사
# 컴퓨터 발전 과정
1. 수동식 계산기 : 수판
- 기원전 3000 ~ 2500 년 경 중국에서 개발, (1980년대까지 사용)

2. 기계식 계산기
- 파스칼라인 (Pascaline)
· 1645 년 프랑스 파스칼, 톱니바퀴 이용
- 가감승제 계산기
· 1671 년 독일 라이프니쯔
- 차분기관 (Difference Engine) 과 분석기관 (Analytical Engine)
· 1820 년 영국 바베지
- 천공카드 도표 작성기
· 1889 년 미국 홀러리스

3. 전기기계식 계산기
- MARK1
· 1944 년 미국 에이컨, (종이 테이프에 천공된 프로그램 명령어들에 의하여 작동하고 제어됨)

4. 전자식 계산기
- ABC computer (아타나소프-베리 컴퓨터)
· 최초의 컴퓨터, 1942 년
· 순차적 방식과 2진법 체계를 사용하는 진공관 방식

5. ENIAC
- 최초의 전자식 디지털 컴퓨터 ( 1946 ) !!중요!!
- 전자적인 가산기를 연산용 기억장치로 사용
- 컴퓨터 내부의 회로 소자로 진공관을 사용
- 프로그램을 작성하려면 컴퓨터 각 부분을 전선으로 연결하고, 프로그램의 수행을 위해서는 6,000여 개 의 스위치 조절

6. 프로그램 내장 방식 컴퓨터
- 1945 년 "폰 노이만" (Von Neumann) 제안
- 컴퓨터에 기억장치를 설치하고, 프로그램과 데이터를 함께 기억장치에 저장했다가, 프로그램에 포함된 명령에 따라 자동으로 작업을 처리하는 방식
- 오늘날 컴퓨터의 기본 사상
- EDSAC (Electronic Delayed Storage Automatic Computer)
· 1949 년 영국에서 최초로 개발된 프로그램 내장 방식의 컴퓨터
- EDVAC (Electronic Discrete Variables Automatic Computer)
· 1952 년 미국에서 최초로 개발된 프로그램 내장 방식의 컴퓨터
# 에드삭, 에드박은 논쟁우려때문에 함께 최초로 거론된다함

7. UNIVAC 1 (Universal Automatic Computer)
- 최초의 순수 데이터 처리용
- 최초의 상업용 컴퓨터

8. IBM 701
- 1952 년에 CRT (cathode-ray-tube) 를 주기억장치로 하고, 보조기억장치로 "자기드럼" 과 "자기테이프"를 채택
- 본격적인 상업용 컴퓨터


9. 세대별 발전과정
1세대 컴퓨터 : 진공관 세대
- 기본 회로 소자 : 진공관
- 1946 - 1956
- 기억장치 : 자기코어, 자기드럼, 수은지연회로
- 과학 기술의 제한적인 용도로만 사용
- 기계어, 어셈블리어 사용
==> 대표적인 컴퓨터 (ENIAC-에니악, EDSAC-에드삭, EDVAC-에드박, UNIVAC-유니박)

2세대 컴퓨터 : 트랜지스터 세대
- 기본 회로 소자 : 트랜지스터
- 1957 - 1964
- 기억장치 : 자기코어, 자기드럼, 자기테이프
- 일반 사무용으로도 사용
- FORTRAN, COBOL, ALGOL 사용
==> 대표적인 컴퓨터 ( IBM 1401 )

3세대 컴퓨터 : 직접회로 세대
- 기본 회로 소자 : 집적회로 (IC, Integrated Circuit)
- 1965 - 1979
- 운영체제와 각종 유틸리티 등 개발
- 시분할 처리를 통해 멀티 프로그래밍 지원
- 캐시 기억장치 등장
==> 대표적인 컴퓨터 ( PDP-11 )

4세대 컴퓨터 : 고밀도/초고밀도 집적회로 세대
- 기본 회로 소자
· 고밀도집적회로 ( LSI, "Large Scale Integrated circuit" )
· 초고밀도집적회로 ( VLSI, "Very Large Scale Integrated circuit" )
- 1980 - 현재
- 개인 컴퓨터의 대중화
- 분산계산, 병렬계산 보편화
------


------------------------------------------




2차시 컴퓨터의 분류



Analog data

연속적인 데이터이다. 데이터를 입력하고 처리하고 필요에 따라 저장하고 결과를 출력해주는 전자장치이다.



Digital data

불연속적인 데이터이다. 데이터를 입력하고 처리하고 필요에 따라 저장하고 결과를 출력해주는 전자장치이다.



Program

명령어들의 나열이다.



마이크를 통해 목소리가 컴퓨터로 입력되기도 합니다.
컴퓨터로 입력되는 데이터는 디지털 데이터이어야 하는데 목소리는 아날로그 데이터이므로
현재 일반적으로 사용되는 컴퓨터는 아날로그 데이터를 입력받는 컴퓨터인가요?
== 마이크를 통해 목소리가 아날로그 데이터로 입력되지만 사운드 카드 내의 모뎀장치에 의해
== 아날로그 데이터가 디지털 데이터로 변환되어 컴퓨터로 입력됩니다.
== 따라서 현재 일반적으로 사용되는 컴퓨터는 디지털 데이터를 입력 받는 컴퓨터입니다.



사용 목적에 따른 분류
전용 컴퓨터는 특정 목적을 위해 사용되는 컴퓨터이다.
범용 컴퓨터는 일반적인 목적을 위해 사용되는 컴퓨터이다.


사용 데이터에 따른 분류
아날로그 컴퓨터는 아날로그 데이터를 사용하는 컴퓨터이다.
디지털 컴퓨터는 디지털 데이터를 사용하는 컴퓨터이다.
하이브리드 컴퓨터는 아날로그 데이터와 디지털 데이터를 모두 사용 가능한 컴퓨터이다.


처리 능력에 따른 분류
마이크로 컴퓨터는 소형 컴퓨터이다.
미니 컴퓨터는 중형 컴퓨터이다.
메인 프레임 컴퓨터는 대형 컴퓨터이다.
슈퍼 컴퓨터이다.


구조에 따른 분류
파이프라인 슈퍼 컴퓨터는 하나의 CPU 내에 다수의 연산장치를 포함하는 컴퓨터이다.
대규모 병렬 컴퓨터는 하나의 시스템 내에 다수의 CPU를 포함하는 컴퓨터이다.


------------(아래) 컴퓨터 분류 정리
---



1. 사용 목적에 따른 분류
#1 전용 컴퓨터
1) 군사용 : 미사일이나 항공기의 괘도를 추적하는 군사용에 쓰임
2) 산업용 : 핵반응 시설을 제어하거나 공장에서 생산 공정을 제어함
3) 업무용 : 지하철의 운행이나 개찰, 의료 단층 촬영 등에 이용됨
4) 기타 : 항공기 및 선박의 자동 조정 장치 등에 이용됨

#2 범용 컴퓨터
1) 일반 기업체나 공공기관에서 사용하는 사무처리용 컴퓨터
2) 과학 기술에 필요한 수치계산
3) 수치해석분야, 선형계획프로그래밍, 모의실험 등의 기술계산용
4) 자동차나 항공기의 설계, 제조, 관리
5) 생산, 판매, 급여, 회계 등의 기업업무나 행정, 금융 등의 사무처리분야 업무



2. 사용데이터에 따른 분류
- 데이터의 개념
1) 아날로그 데이터 (연속적인 데이터)
아날로그 시계 (아날로그는 정밀하고 자세한 정보 "정밀성" 을 제공할 수 있다)
- 초침이 딱딱가는건아니고 부드럽게 쉬~가는거만 아날로그시계, 또한 전자시계는 디지털시계

2) 디지털 데이터 (불연속적인 데이터)
불연속적인 형태로 표현하는 이산적인(discrete) 데이터
전자 시계 (디지털은 "정확성" 이 높다, 아날로그에 비해 "정밀성" 은 낮다)

#1 - 아날로그 컴퓨터
1) 신속한 입력과 즉각적인 반응을 얻을 수 있어 "제어용목적" 에 적합

#2 - 디지털 컴퓨터
1) 우리가 쓰는 컴퓨터가 해당됨 ( "햇갈릴 수 있는거" : 마이크는 사운드카드가 아날로그 소리를 디지털로 바꿔서 컴퓨터에 보내줌)

# 3 - 하이브리드 컴퓨터
1) 컴퓨터가 "직접" 아날로그와 디지털을 넘나듬
2) 아날로그와 디지털의 장점을 취하여 제작한 컴퓨터
3) 어떤 종류의 데이터도 처리 할 수 있는 컴퓨터

정리 : 아날로그, 디지털, 하이브리드
- 3개의 사용데이터에 따른 분류




3. 처리능력에 따른 분류 (시스템규모, 컴퓨터크기 에 따른 분류)
#1 - 마이크로 컴퓨터 (Micro-computer)
1) 마이크로프로세서를 사용하는 컴퓨터
2) 개인용 컴퓨터 또는 PC
3) 가정용이나 작은 사업의 용도로 사용되는 소형의 컴퓨터

- 마이크로 컴퓨터 종류
데스크탑 - Desk-top)
· 이동하기 불편한 선이 다 연결된 컴퓨터

랩탑 컴퓨터 - Lap-top Computer
· 무릎(lap) 에 올려놓을 수 있는 컴퓨터, 충전용배터리 사용, 이동성 좋음

팜탑 컴퓨터 - Palm-top Computer
· 손바닥(palm)에 들어갈 만한 크기의 매우 소형의 컴퓨터, 축소지향형의 일본에서 많이 사용
· 아타리 포트폴리오 - Atari Porfolio, 1989년에 출시된 최초의 팜탑컴퓨터

PDA - Personal Digital Assistant
· 언제 어디서나 이동 중에서도 일을 수행하는 직업에 유용
· 세일즈맨, 보험설계사, 증권주문, 택배 등의 용도에 쓰임
· MB7000 (MobileBase사), PM-350 (PointMobile사), M3 OX10-1G (M3모바일사)

스마트폰 - Smart phone
· 항상 들고 다니면서 인터넷을 검색하거나 메일을 송수신이 가능한 기계
· 동영상과 사진을 촬영하고 편집할 수도 있음
· 다양한 어플리케이션 사용

태블릿 PC - Tablet PC
· 터치스크린을 사용하는 소형의 휴대용 컴퓨터
· 키보드나 마우스 대신 손가락이나 터치펜으로 쉽게 조작 가능
· 평평한 "판 (Tablet)" 의 형상을 하고 있어서 태블릿 PC라고 함


#2 워크스테이션 (Workstation)
1) 데스크탑보다 살짝 큰 컴퓨터
2) 메인프레임이나 슈퍼컴퓨터와 연결하여 업무를 처리 할 수 있음
3) 개인용 컴퓨터와 미니컴퓨터의 중간 단계
4) UNIX 계열의 운영체제를 주로 사용
5) 통신망을 통한 데이터 처리 기능을 가지고 있음
- 워크스테이션 종류
· SUN 워크스테이션


#3 중형 컴퓨터 (Mini Computer)
1) 대용량의 주기억장치와 보조기억장치 그리고 빠른 주변장치로 구성
2) 수십 명 또는 수백 명이 쓰기에 적합한 컴퓨터
3) 대형 컴퓨터보다 가격은 저렴하지만 처리능력이나 기억용량 면에서 우수한 편
4) 중소기업, 학교, 연구소에서 주로 사용
- 중형 컴퓨터 종류
· VAX 780
- 이름이 미니컴퓨터인데 대형보다 작다고 미니라고 지었었다고함


#4 대형 컴퓨터 (Mainframe Computer)
1) 대용량의 저장장치를 보유
2) 다중 입출력 채널을 이용한 고속의 입출력 처리 능력을 보유한 컴퓨터
3) 공공 단체, 대기업, 은행, 병원, 대학 등
4) 보험 회사, 항공사, 정부의 회계 처리 등에서 주로 사용함
5) 다수의 단말기를 연결시켜 온라인 업무나 분산 처리 업무에 이용
6) 대규모 데이터 베이스 저장 및 관리 용으로 사용
- 대형 컴퓨터 종류
· IBM 65IBM의 최신 대형 컴퓨터


#5 슈퍼 컴퓨터 (Super Computer)
1) 복잡한 계산을 초고속으로 처리하는 초대형 컴퓨터
2) 가장 빠르고 비싼 컴퓨터
3) 원자력 개발, 항공우주, 기상 예측 등의 분야에서 사용
- 슈퍼 컴퓨터 종류
· Cray 2S 슈퍼컴퓨터, Titan 슈퍼컴퓨터
- 최신 슈퍼 컴퓨터
· Cray 2 DSC03940 슈퍼컴퓨터, IBM의 MIRA 슈퍼컴퓨터




4. 구조에 따른 분류
#1 파이프라인 슈퍼 컴퓨터 (Pipeline Supercomputer)
1) 하나의 CPU 내에 다수의 연산장치를 포함하고 있는 컴퓨터
2) 각 연산장치는 파이프 라이닝 구조를 이용하여 고속 벡터 계산이 가능

2# 대규모 병렬 컴퓨터 (Massively Parallel Computer)
1) 하나의 시스템 내에 상호 연결된 수백 혹은 수천 개 이상의 프로세스들을 포함
2) 프로세서들이 하나의 큰 작업을 나누어서, 병렬로 처리하는 구조


------------------------------------------




3차시 컴퓨터 정보의 표현



bit

0 또는 1을 표현하는 컴퓨터에서 사용하는 최소 단위이다.



byte

컴퓨터에서 사용하는 의미를 갖는 최소단위로 컴퓨터 기억장치의 용량 단위이며 8bit이다.



word

컴퓨터가 한 번에 처리할 수 있는 데이터 단위이다.



왜 컴퓨터에서는 10진수보다 2진수, 8진수, 16진수를 더 많이 사용하는 걸까요?
10진수 한 자리를 표현하기 위해서는 4bit가 필요하면, 낭비가 발생하지만,
2진수는 1bit, 8진수는 3bit, 그리고 16진수는 4bit를 낭비 없이 사용하기 때문에
컴퓨터에서 2진수, 8진수, 16진수를 10진수보다 더 많이 사용합니다.



컴퓨터에서 정보의 표현 단위
비트는 컴퓨터에서 사용하는 최소단위이다.
바이트는 컴퓨터에서 사용하는 의미를 갖는 최소단위로 컴퓨터 기억장치의 용량 단위이다.
워드는 컴퓨터에서 한 번에 처리하는 단위이다.



2진수 표현
0, 1로 표현되는 수이다.



8진수와 16진수 표현
8진수는 0~7로 표현되는 수이다.
16진수는 0~9와 A~F로 표현되는 수이다.



2진수, 8진수, 16진수를 10진수로 변환
수를 해당 기수(base)의 지수 승으로 분해하고 그 합을 구하면 10진수가 얻어진다.
------------------------------------------




4차시 진법 변환



2진수

0 또는 1로 수로 한자리를 표현하는 수이다.



8진수

0, 1, 2, 3, 4, 5, 6, 7로 표현되는 수로 한 자리를 표현하기 위해 3bit가 필요하다.



16진수

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F로 표현되는 수로 한 자리를 표현하기 위해 4bit가 필요하다.



8진수를 16수로 변환하려면 10진수로 변환하여야 반드시 가능할까요? 더 쉬운 방법은 없을까요?
8진수를 2진수로 변환하고 변환된 2진수를 16진수로 변환하면 훨씬 쉽게 변환이 가능합니다.



10진수를 2진수, 8진수, 16진수로 변환
10진수를 해당 기수(base)로 나누어 나머지를 거꾸로 읽는다.



8진수와 16진수 간의 변환
2진수로 변환한 후 3bit 또는 4bit를 한 자리로 변환하면 된다.
이 댓글을 비밀 댓글로

2019년도 (2)학기 (운영체제) [진행 중]

Posted by nkjok
2019.08.29 17:00 학점은행/2019-2학기
공퓽의 트위치 방송 채널
Chu레쉬의 유튜브 채널

운영체제


목차


  운영체제 목차

  1. 운영체제 개요
  2. 운영체제의 기능과 서비스
  3. 프로세스의 개념
  4. 스레드의 개념




-------------------------------------------------------------------------
------------------------------------------




1차시 운영체제 개요


응용소프트웨어

어떤 문제 해결을 해결하기 위해 사용자나 전문가에 의해 만들어진 프로그램이다.



멀티프로세싱

2개 이상의 프로세서를 이용하여 사용하는 시스템이다.



일괄처리

사용자들의 작업 요청을 일정한 분량이 될 때까지 모두 모아 두었다가 한꺼번에 처리하는 방식의 시스템이다.



운영체제에서 커널이라는 것은 무엇인가요?
커널은 운영체제의 핵심으로 메모리에 상주하면서 운영체제의 다른 부분 또는 응용 프로그램 수행에 필요한 환경을 설정하는 소프트웨어이다.
응용 프로그램에 실행에 필요한 다양한 서비스를 제공하고 실행되는 프로세스를 스케쥴링하는 역할을 한다.


운영체제의 개념과 목적
컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어이다.
하드웨어 및 사용자, 응용 프로그램, 시스템 프로그램 사이에서 인터페이스를 제공한다.
프로세서, 메모리, 입출력장치, 통신장치 등 컴퓨터 자원을 효과적으로 활용하려고 조정·관리한다.
메일 전송, 파일 시스템 검사, 서버 작업 등 높은 수준의 서비스를 처리하는 응용 프로그램을 제어한다.
다양한 사용자에게서 컴퓨터 시스템을 보호하려고 입출력을 제어하며 데이터를 관리한다.


운영체제의 종류
동시 사용자 수에 따라 Single-user system과 Multi-user system으로 분류된다.
작업 처리 방법에 따라 Single-tasking system과 Multi-tasking system (Multiprogramming system)으로 분류된다.
사용 환경에 따라 Batch processing system, Time-sharing system, Distributed processing system, Real-time system으로 분류된다.


운영체제의 발달 과정
1940년대에는 운영체제 개념 존재하지 않았고 사용자가 기계어로 직접 프로그램 작성, 실행하는 작업별 순차 처리 시스템을 사용하였다.
1950년대부터 일괄 처리 시스템이 사용되었는데 초기 운영체제인 일괄 처리 시스템(batch processing system)은 작업을 올리는 시간과 해제하는 시간 줄이는 데 관심이 있었다.
1960년대에는 장치 독립성을 이용한 편리한 하드웨어 관리와 다중 프로그래밍 그리고 시분할, 다중 처리, 실시간을 이용한 시스템의 처리 능력이 향상되었다.
1970년대에서 1990년대에는 분산 처리 시스템으로 인해 컴퓨터 네트워크와 온라인 처리 방법이 널리 사용되었다.
2000년대 이후 스마트폰이나 태블릿 같은 모바일 기기가 대중화되면서 모바일 및 임베디드, 가상화 및 클라우드 컴퓨팅이 발달하였다.


------------------------------------------




2차시 운영체제의 기능과 서비스



명령 라인 인터페이스

코드나 단어 등 명령어 입력을 키보드로 요구하는 형태이다.



GUI

사용하기 편리한 사용자 인터페이스로 아이콘 형태를 이용하여 자유로운 마우스 사용을 허용한다.



스마트 자동차에는 어떤 OS 종류가 있을까요?
애플과 구글, 마이크로소프트(MS) 등 주요 기업이 스마트카에 탑재하는 운영체제(OS)를 선보이고 있다.
애플은 iOS(애플 운영체제) 기반의 차량용 OS ‘카플레이’를 내놓았고, 구글은 ‘안드로이드 오토’를 무기로 시장을 공략하고 있다.
그리고 마이크로소프트(MS)는 ‘윈도인더카’를 발표했다.



운영체제의 기능
운영체제 기능은 크게 자원 관리 기능, 시스템 보호, 네트워킹, 명령 해석기와 시스템 관리으로 구분된다.
자원 관리 기능에는 메모리 관리, 프로세스 관리, 주변장치 관리, 파일 관리가 있다.
운영체제는 파일 사용 권한 부여하고 데이터 암호화 등 서비스를 제공하며 데이터와 시스템을 보안한다.
프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결한다.


운영체제 서비스
부트스트래핑 서비스는 운영체제를 메인 메모리에 적재하는 과정이다.
사용자 서비스에는 사용자 인터페이스, 메뉴 인터페이스, GUI(Graphical User Interface), 프로그램 실행, 입출력 동작 수행, 파일 시스템 조작, 통신(네트워크), 오류 탐지가 있다.
시스템 서비스에는 자원 할당, 계정, 보호와 보안이 있다.


운영체제의 미래
사람 같은 인공지능 OS 즉, OS가 기존의 단순 정보전달 차원에서 문제 해결능력을 갖추는 단계까지 이르렀다.
새로운 운영체제는 태블릿PC와 스마트폰은 물론, 사물인터넷 및 ATM기, 심지어 신호등을 비롯한 일상의 기기에도 적용이 가능하다.
애플과 구글, 마이크로소프트(MS) 등 주요 기업이 스마트카에 탑재하는 운영체제(OS)를 선보이고 있다.


------------------------------------------




3차시 프로세스의 개념



프로세스

실행 중인 프로그램으로 여기서 실행중인 프로그램이란 디스크에 저장되어 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태를 의미한다.



PCB

프로세스에 할당된 자원에 대한 정보를 가지고 있다.



병행프로세스

프로세스가 여러 개 동시에 실행되는 개념이다.



우리가 컴퓨터로 노래를 들으면서 한글프로그램을 이용하여 숙제를 하는 경우에 컴퓨터 내부 프로세스는 어떻게 동작되는 걸까요?
컴퓨터 용어로 쓰이는 프로세스는 실행 중인 프로그램을 의미합니다.
프로세스가 실행되는 동안 생성, 준비, 실행, 대기, 종료의 상태들을 거치는데, 컴퓨터는 여러 일을 처리할 때 프로그램 요소들이 움직이는 일정에 따라 작업 순서를 매깁니다.
이를 스케줄링이라고도 부릅니다. 그리고 정해진 일정에 따라 컴퓨터의 중앙처리장치(CPU)가 그 작업을 실행합니다.
컴퓨터로 노래를 들으면서 한글프로그램을 이용해서 학교 숙제를 하는 경우를 생각해 봅시다.
우리가 느끼기에는 컴퓨터에서 두 가지 일이 동시에 이루어지는 것처럼 느껴지지만 사실은 운영체제의 멀티태스킹 기능이 두 가지 프로세스를 잘게 쪼개어 명령을 처리할 수 있도록 일정을 짜고,
CPU로 명령을 보내 차례대로 필요한 정보를 처리할 수 있도록 하는 과정이 눈에 보이지 않는 속도로 이루어지는 것입니다.
※ 출처 : 천재학습백과 초등 소프트웨어 용어사전, 천재교육



프로세스의 개념
실행중인 프로그램(작업)이다.
운영체제에 들어 있는 프로세스는 제어 블록 PCB 이다.
커널에 등록되고 커널의 관리하에 있는 작업이다.
각종 자원들을 요청하고 할당 받을 수 있는 개체이다.
프로세스 관리 블럭을 할당 받은 개체이다.



프로세스의 종류
운영체제 프로세스는 운영체제 프로세스는 프로세스 상태 순서를 제어하거나 사용하고 있는 프로세스가 다른 사용자나 운영체제 영역을 침범하지 못하게 감시하는 기능을 담당한다.
사용자 프로세스는 사용자 프로세스는 사용자 코드를 수행한다.
병행프로세스는 서로 독립적으로 실행되는 독립 프로세스와 프로세스들이 서로 협력하며 수행되는 협동 프로세스로 구분된다.



프로세스의 상태변화
프로세스의 상태 변화는 운영체제가 프로세서 스케줄러 이용하여 관리한다.
각 프로세스는 생성, 준비, 실행, 대기, 종료 상태로 구분되고 실행하면서 상태가 변한다.
생성 상태는 사용자가 요청한 작업이 커널에 등록되고 PCB가 할당되어 새로운 프로세스가 만들어지는 상태이다.
준비상태는 프로세서를 할당 받으려고 기다리는 상태로 즉시 실행 가능한 상태이다.
실행상태는 프로세서를 점유하여 명령어가 실행되는 상태이다.
대기상태는 이벤트나 입출력 대기 신호 발생을 기다리는 상태이다.
종료상태는 프로세스가 프로세서 외의 특정 자원을 요청하고 이를 할당 받을 때까지 기다리고 있는 상태이다.
------------------------------------------




4차시 스레드의 개념



스레드

프로세스의 특성인 자원과 제어에서 제어만 분리한 실행 단위로써 프로세스 하나는 스레드 한 개 이상으로 나눌 수 있다.



다중 스레드

프로그램 하나를 여러 실행 단위로 쪼개어 실행한다는 측면에서 다중 처리한다.



스레드 장점

사용자 응답성 증가하고 프로세스의 자원과 메모리 공유가 가능하다. 경제성 좋으며 다중 처리(멀티 프로세싱)로 성능과 효율이 향상된다.



프로세스와 스레드의 차이점은 무엇일까요?
프로세스는 실행 중인 프로그램으로 리소스와 스레드로 구성되어 있습니다.
그리고 프로세스는 하나 이상의 스레드를 가지고 있습니다.
스레드는 경량화된 프로세스로서 프로세스 내에서 실제 작업을 수행하고 있습니다.



스레드의 개념
프로세스의 특성인 자원과 제어에서 제어만 분리한 실행 단위이다.
프로세스 하나는 스레드 한 개 이상으로 나눌 수 있다.
프로세스의 직접 실행 정보를 제외한 나머지 프로세스 관리 정보 공유한다.
다른 프로시저를 호출하고 다른 실행을 기록한다.(별도 스택 필요)
관련 자원과 함께 메모리 공유 가능하므로 손상된 데이터나 스레드의 이상 동작을 고려한다.
경량 프로세스 LWP는 프로세스의 속성 중 일부가 들어 있는 것이다.
중량 프로세스 HWP는 스레드 하나에 프로세스 하나인 전통적인 경우이다.
같은 프로세스의 스레드들은 동일한 주소 공간 공유한다.
동일 프로세스의 여러 스레드는 코드 영역, 데이터 영역, 운영체제 자원(예: 열린 파일, 시그널)을 공유한다.
프로세스가 다수의 제어 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업을 실행할 수 있다.



단일 스레드와 다중 스레드
운영체제 프로세스는 운영체제 프로세스는 프로세스 상태 순서를 제어하거나 사용하고 있는 프로세스가 다른 사용자나 운영체제 영역을 침범하지 못하게 감시하는 기능을 담당한다.
사용자 프로세스는 사용자 프로세스는 사용자 코드를 수행한다.
병행프로세스는 서로 독립적으로 실행되는 독립 프로세스와 프로세스들이 서로 협력하며 수행되는 협동 프로세스로 구분된다.



스레드의 상태변화
프로세서 함께 사용하며 항상 하나만 실행한다.
한 프로세스에 있는 스레드는 순차적 실행한다. (해당 스레드의 정보 저장레지스터, 스택)
프로세스 생성하면 해당 프로세스의 스레드도 함께 생성된다. 단, 스레드 생성에서는 운영체제가 부모 프로세스와 공유할 자원 초기화 필요 없다.
프로세스의 생성과 종료보다는 오버헤드 훨씬 적다.
스레드 한 개가 대기 상태로 변환 시 전체 프로세스 대기 상태로 변환하지 않는다.
실행 상태의 스레드가 대기 상태가 되면 다른 스레드 실행 가능하다.(서로 독립적이지 않다.)
프로세스 하나에 있는 전체 스레드는 프로세스의 모든 주소에 접근 가능하여 스레드 한 개가 다른 스레드의 스택 읽기나 덮어 쓰기 가능하다.
프로세서는 여러 사용자가 생성하여 서로 경쟁적으로 자원을 요구하고 서로 다른 관계를 유지해야 하지만 스레드는 사용자 한 명이 여러 스레드로 개인 프로세스 하나 소유한다.
이 댓글을 비밀 댓글로