일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- functional symbol
- disjunction
- 개별 상수
- Connectives
- conjunction
- terms
- first order logic
- negation
- identity introduction
- formal proof
- soundness
- atomic sentence
- arguments
- transitivity of identity
- identity elimination
- 1차 논리
- individual constants
- 논리학
- reiteration
- predicate symbols
- 원자 명제
- truth table
- Validity
- fol
- substitution
- Today
- Total
컴공생의 공부LOG
[컴퓨터개론] 운영체제의 역할 본문
프로세스 관리
프로그램과 프로세스의 차이
프로세스의 개념
- 프로세스(process)는하나의작업단위
- 사용자가마우스를더블클릭하여프로그램(program)을실행하면 그프로그램은프로세스가됨
프로그램과 프로세스의 비유
- 레시피→조리→요리
- 프로그램→생성→프로세스
프로그램과 프로세스의 차이
1. 프로그램
- 어떤데이터를사용하여어떤작업을할지그절차를적어놓은것
- 하드디스크같은저장장치에보관하고있다가마우스로더블클릭하면실행
2. 프로세스
- 프로그램으로작성된작업절차를실제로실행에옮긴다는의미
- 해당코드가메모리에올라와서작업이진행된다는의미
프로그램과 프로세스 예제
- 팟플레이어는하드디스크에저장된프로그램중하나
-> 저장장치에보관된정적인상태
- 팟플레이어를실행시키면프로세스가됨
-> 메모리에올라와서작업을수행하는동적인상태
프로세스 상태 보기
PCB와 프로세스 상태
프로세스를 다루는 방식
1. 일괄처리(batch)방식
- 한번에작업을1개만처리하는시스템
- 컴퓨터초창기의운영체제나MS-DOS가사용하던방식
2. 시분할(timesharing) 방식
- 프로세스여러개가아주짧은시간동안CPU를사용하는방식
- 프로세스여러개가동시에실행되는것처럼보이는작업
시분할 작업 예시
프로세스 제어 블록 (Process Control Block, PCB)
-운영체제에서 주문서에 해당하는 것
프로세스의 상태
1. 생성상태(create status)
- 프로세스가메모리에올라와실행준비를완료한상태,PCB생성
2. 준비상태(ready status)
- 생성된프로세스가CPU를얻을때까지기다리는상태
3. 실행상태(running status)
- 준비상태에있는프로세스중하나가CPU를얻어실제작업을수행하는 상태
- 자신의작업이끝날때까지준비상태와실행상태를반복
4. 완료상태(terminate status)
- 실행상태의프로세스가주어진시간동안작업을마치면완료상태로진입
- PCB 반납
- 폰노이만구조의컴퓨터에서프로그램은메모리에올라와야실행가능
- 일괄처리시스템은한번에작업하나만처리함→메모리관리쉬움
- 시분할시스템에서는운영체제를포함한여러프로세스가한꺼번에 메모리에올라옴
- 따라서과거에비해메모리관리가어려움
메모리 관리
메모리 구조와 MMS
메모리의 구조
- 운영체제도프로그램이기때문에 메모리로올라와야실행가능
- 메모리관리시스템 (Memory Management System, MMS)
-> 운영체제영역과다른작업영역침범막기
-> 자리부족시빈공간확보
메모리 관리자가 하는 일
1. 가져오기 작업
- 프로세스와데이터를메모리로가져오는것
2. 배치 작업
- 가져온프로세스와데이터를 메모리의어떤부분에올려놓을지결정하는것
- 배치작업전에같은크기로자르느냐, 프로세스크기에맞게자르느냐에따라 복잡성이달라짐
3. 재배치 작업
- 꽉차있는메모리에새로운프로세스를 가져오려고 오래된프로세스를내보내는작업
가상 메모리
메모리 크기를 고려한 개발
- 사용자메모리는1GB부터16GB까지다양
- 메모리에가작으면프로그램이동작하지않을수있음
- 메모리크기를고려하여프로그래밍하기는매우어려움
가상 메모리(Virtual Memory)란?
- 사용자가가지고있는실제메모리크기와프로세스가올라갈메모리 위치를신경쓰지않고프로그래밍을하도록지원하는메모리시스템
- 실제메모리크기와상관없이프로세스에게커다란메모리공간을제공
가상 메모리의 구성
- 가상메모리는”프로세스가바라보는메모리영역”과 ”메모리관리자가바라보는메모리영역”으로나뉨
- 이론적으로가상메모리크기는무한대
스왑 영역 (Swap Area)
- 메모리가모자라서쫓겨난프로세스를모아두는저장장치의특별한영역
- 하드디스크같은저장장치는장소만빌려주고메모리관리자가담당
스왑 영역 사용 예
- ”최대절전모드”사용시CPU와메모리의전력공급을끊김
- 이때현재메모리에있는데이터를옮겨가는곳이스왑영역
가상 메모리 크기
- 가상메모리시스템은실제메모리와스왑영역을활용하여 메모리크기에상관없이모든프로그램을실행할수있는시스템
가상 메모리 크기 조절
- 스왑영역크기는사용자가조절 가능함
- 하지만너무작게하면프로그램 실행이불가능할수있음
저장장치 관리
파일과 확장자
확장자
- 파일은논리적인데이터집합
- 이름을이용해파일을구분하고,확장자에따라파일성격구분
- 초창기에는파일이름은여덟글자,확장자는세글자로제한했음
- 현재는이름과확장자를합쳐최대255자를사용할수있음
- \, /, :, *, ?, ”, <, >, | 등은 사용 불가
- 마지막마침표다음문자열을확장자로인식
파일의 종류
- 파일포맷의종류
-> 이미지파일포맷:BMP,JPG, GIF, PNG 등
-> 음악파일포맷:MP3,WAV,OGG, AAC, FLAC
-> 응용프로그램제작자가새로운확장자를 만들어사용할수도있음
-> mp3, bmp, jpg, zip 등 전 세계적표준도있음
- 파일헤더
-> 파일이름,버전,크기,만든날짜등정보를저장
파일 종류와 확장자 예시
실행 파일과 데이터 파일
- 실행파일:운영체제가메모리로가져와CPU를사용하여작업하는파일 (= 사용자요청으로프로세스가되는파일)
- 데이터파일:프로세스가사용하는데이터를모아놓은파일
연결 프로그램
- 데이터파일을더블클릭하면실행되는응용프로그램
연결 프로그램 변경 (Windows)
- 변경하는파일에서마우스오른쪽버튼 →[속성]메뉴선택→ ‘변경’ 버튼 →프로그램선택
연결 프로그램 변경 (OSX)
- 변경하는파일에서마우스오른쪽버튼 →[정보가져오기]메뉴선택 →[다음으로열기]에서원하는프로그램선택
- 해당종류파일에대해일괄적용하려면 프로그램선택후[모두변경]버튼클릭
디렉터리 (Directory)
- 관련있는파일을하나로모아놓은곳
- 여러층으로구성가능(디렉터리밑에 또다른디렉터리를만들수있음)
- 최상위디렉터리를루트(root)디렉터리라고함
디렉터리 계층구조
- 역슬래시(\)는루트디렉터리를의미
- 한글자판에서역슬래시는₩(원화표시)로대체
- 디렉터리헤더에는디렉터리이름,만든시간,접근권한등의정보가 기록되어있음
파일 시스템
파일 테이블
- 파일이저장된파일이름,위치정보등이저장
- 모든운영체제는고유의파일테이블을가짐
- 윈도우는FAT(File Allocation Table)나 NTFS
- 유닉스는i-node 같은파일시스템운영
파일 테이블 예시
포맷 (format)
- 디스크에파일시스템을탑재하고디스크표면을 초기화하여사용할수있는형태로만드는작업
-> 빠른포맷:데이터는그대로둔채파일테이블을 초기화하는방식
-> 느린포맷:파일시스템을초기화할뿐아니라 저장장치의모든데이터를0으로만듬
섹터와 블록
1. 섹터
- 하드디스크의물리적인구조상가장작은저장단위
- 파일관리자는여러섹터를묶어하나의블록으로만듬
- 블록하나에주소하나를배정
-> 섹터마다주소를부여하면너무많은양의주소가필요하기때문
2. 블록
- 저장장치에접근할수있는가장작은단위
- 한블록에주소하나를할당
- 데이터는운영체제와저장장치간에블록단위로전송
블록의 크기
- 블록크기는시스템마다다름
- 포맷할때블록크기를직접지정할수있음
-> 시스템이정한기본블록크기,또는4,096B∼64KB등다양함
- 블록크기를작게설정하면?
-> 저장장치를효율적으로쓸수있음
-> 하지만파일이여러블록으로나뉘어파일입출력속도가느려짐
FAT 파일 시스템의 구조
- 왼쪽테이블은파일정보와함께 파일의시작블록정보를가짐
- 파일B: 2→4→12→8(null)번블록
- 파일C: 0→3→10→6→9→7→ 11 →14(null)번 블록
FAT32와 NTFS
- 윈도우는파일시스템으로FAT32또는NTFS를사용
- FAT32는 32GB까지지원하고파일하나의크기가4GB로한정
-> 4GB 보다큰파일을저장하려고하면빈공간이있어도 ‘빈공간없음’ 이라는메시지를표시
-> FAT32가 4GB 이상의파일을지원하지않아발생하는문제
-> NTFS 파일시스템으로바꾸면해결
-> 대신NTFS는자동차나오디오와같은기기에서인식이안될수있음
-> USB 메모리는대부분FAT32를사용
빈 공간 관리 기법
빈 공간 리스트 (free block list)
- 디스크에파일을저장할때모든테이블을뒤져빈공간을찾는것은 비효율적
- 빈공간을효율적으로관리하려고파일시스템은빈블록정보만모아 놓은빈공간리스트(free block list)를유지
파일 B를 지우는 경우 빈 공간 리스트의 변화
- B가사용한2, 4, 12, 8번블록을 지우지않고빈공간리스트에삽입
- 파일을삭제하면파일테이블의 헤더를삭제하고사용한블록을빈 공간리스트에등록함
- 실제파일이지워지는것이아님
빈 공간 리스트의 변화
- 빠른포맷은데이터를그대로남겨둔채파일테이블만초기화하는방식
- 해당블록에새로운데이터를덮어쓰지않는한원래데이터복구가능
- 새로운블록을할당할때는빈공간리스트에먼저들어온블록부터할당
- 따라서최근삭제한파일이나빠른포맷을한이후데이터복원가능
파일 삭제 또는 포맷 후 저장 장치 상태
디스크 단편화 (disk fragmentation)
- 하드디스크를처음사용할때는데이터가앞부터차곡차곡쌓음
- 사용하다보면파일이삭제되면서중간중간빈공간이생김
- 하드디스크에조각이많이생기면큰파일을여러조각으로나뉨 →성능저하
조각모음 (defragmentation)
- 자기디스크는주기적으로조각모음실행하는것이좋음
- 시간이오래걸리는작업
- USB, SSD 등반도체를사용하는저장장치는조각모음을하지않음
-> 반도체저장장치의칩들은읽기/쓰기수명이있음
-> 조각모음을통해특정위치의메모리만계속사용하면수명을단축시킴
'학교 수업 > 1학년 1학기' 카테고리의 다른 글
[컴퓨터개론] 리눅스 기본 사용법 (0) | 2024.11.21 |
---|---|
[컴퓨터개론] 리눅스 소개 (0) | 2024.11.21 |
[컴퓨터개론] 리눅스 개발환경 구축 (0) | 2024.11.21 |
[컴퓨터개론] 정보보안 (0) | 2024.11.21 |
[컴퓨터개론] 컴퓨터와 소프트웨어 (0) | 2024.11.20 |