본문 바로가기
728x90
반응형

2023-1/운영체제12

File System file file은 바이트시퀀스이다. (바이트단위로 이루어진 데이터들의 집합) file은 text타입, binary type으로 나뉜다. text type은 아스키코드 등 문자열 데이터를 저장하고, binary type은 프로그램 코드가 저장된다. file structure file 은 일종의 구조를 가지고있다. 구조가 없는경우 simple record structure, complex structure도 있음.(ppt같은) File Attributes (파일에 대한 메타데이터) File Operations common operation -create, write, read, reposition within file, delete, truncate, ... File Types - Name, Extensi.. 2023. 6. 14.
File system and storage management File file은 byte단위로 이루어져 있는 데이터들의 집합. file의 타입은 다음과 같다. Data Program Data file은 텍스트 타입. 아스키 파일이라고도 함.(text type) Program은 바이너리 코드로 이루어짐(binary type) File Structure File Attributes file에 대한 meta data name, identifier, type,location, size, protection, .. location: 파일의 위치 포인터 File Types- Name, Extension 이름과 확장자. 확장자는 OS마다 사용되는것이 다름. 유닉스는 확장자가 없음 UNIX File System 디스크 드라이브가 여러 파티션으로 나뉘어있고, 2023. 6. 10.
Virtual Memory - Page Replacement Virtual Memory : 물리메모리와 논리메모리를 분리. 이들 주소가 1:1로 매치되지 않는다. 가상 메모리는 현재 필요한 메모리 페이지만을 물리 메모리에 유지하고, 나머지는 디스크에 저장함으로써 메모리의 효율적인 사용을 가능하게 한다. 각 프로세스는 자신만의 가상 메모리 공간을 갖게 되어 다른 프로세스의 메모리 영역에 접근하지 못하게 된다. 가상 메모리는 요구 페이징(Demand Paging), 요구 세그멘테이션(Demand segmentation)이라는 두 가지 방식으로 구현될 수 있다. 가상 메모리의 3가지 주요 특징 프로그램 사이즈와 메모리 사이즈는 연관 없다. (프로그램 사이즈가 메모리보다 커도 됨). (디스크를 메모리의 일부처럼 사용하게하는 스왑핑 기능을 적용했기 때문) 한 프로세스는 전.. 2023. 6. 3.
Paging Paging 운영체제에서 메모리 관리를 위해 사용하는 기술 "페이징" 물리 메모리를 동일한 크기의 '페이지'로 분할하고, 각각의 프로세스를 이러한 페이지로 분할하여 메모리를 관리하는 방식이다. (프로그램 한 조각은 page, 메모리의 한 칸은 frame이다) 페이징 시스템은 각 페이지가 메모리의 특정 위치에 연속적으로 위치하지 않는다. 대신 페이지 테이블이라는 데이터 구조를 사용하여 각 페이지의 현재 위치를 추적한다. 페이징시스템은... -외부 단편화가 없다. -내부 단편화는 발생할 수 있으나 단편화의 양이 적다. (마지막 페이지에 한해 생기므로) Temporal Locality Spatial Locality Temporal Locality(시간적 지역성) : 특정 데이터 항목이 한 번 접근된 후, 가까.. 2023. 5. 15.
Memory Management and Virtual Memory 운영체제의 메모리 관리와 가상 메모리는 컴퓨터 시스템의 메모리 자원을 효율적으로 사용하기 위한 핵심 기능이다. Memory Management: 프로세스가 실행되기 위한 메모리를 할당하고 회수하는 것을 담당한다. Virtual Memory: 물리적인 메모리 용량을 초과하는 프로세스의 실행을 가능하게 하는 기술 베이스 레지스터와 리미트 레지스터 쌍으로, 프로세스의 논리적 주소 공간이 정의된다. Binding of Instructions and Data to Memory 바인딩: 프로세스가 메모리에서 실행되기 위해, 명령어와 데이터가 메모리 주소와 연결되는 과정 이러한 바인딩은 크게 세 가지 단계에서 발생할 수 있다. 컴파일 타임 바인딩(Compile time Binding) 로드 타임 바인딩(Load ti.. 2023. 5. 6.
Thread Process vs Thread Process : 실행중인 프로그램. 자원할당의 단위 메모리 주소 보호 단위 Thread : 프로세스 내의 가벼운 실행 단위 Light-Weight Process: LWP로도 부름(Solaris의 LWP는 따로 있음..) 스케줄링과 디스패칭의 단위 Multithreaded Processes Benefits 스레드 사용의 이점 Responsiveness Resource sharing Economy Scalability 응답성 :인터랙티브 앱에서는 응답성이 중요하다. 스레드는 프로세스보다 응답이 빠르다. 자원 공유 : 스레드들은 메모리를 공유한다. 경제적이다 :프로세스 생성보다 스레드 생성이 가볍다. 확장성이 좋다 : Three levels of Thread Kernel th.. 2023. 4. 18.
CPU scheduler CPU 스케줄러는 컴퓨터 시스템에서 프로세스의 실행 순서를 결정하고 관리하는 역할을 한다. 시스템의 전체 성능을 최적화하고, 응답 시간을 최소화하며, 자원 사용률을 극대화하는 것이 목표이다 CPU스케줄러는 다음 상황들에서 사용된다 running에서 waiting상태로 스위칭할 때 running에서 ready 상태로 스위칭할 때 waiting에서 ready상태로 스위칭할 때 (선점형인 경우) terminate 시 스케줄러는 선점형/비선점형으로 나눌 수 있다. Dispatcher 디스패쳐는 스케줄러가 선택한 프로세스를 실행하기 위해 CPU를 할당한다. 또한, 다음 프로세스가 실행되기 전에 현재 실행중인 프로세스의 상태를 저장하고, 새로운 프로세스가 이전에 중단한 지점부터 실행될 수 있도록 환경을 설정한다. .. 2023. 4. 5.
Process and Scheduling 2 Process Termination 프로세스가 종료될 때 프로세스의 자원을 운영체제에 반납해야 한다. 부모 프로세스는 다음과 같은 상황에서 자식 프로세스를 비정상종료 시킬 수 있다. -자식이 할당된 자원 이상을 건들 때 -자식이 더이상 필요 없을 때 부모가 종료되면 자식은 더이상 수행하지 않고 종료된다. 이 때, 자식 프로세스가 종료되지 않으면 고아,좀비 프로세스가 된다. 좀비 프로세스: 메모리의 context는 이미 삭제되었지만 몇 정보들이 남아있다.(PID, exit status, CPU usage: 이들은 부모가 자식 처리를 위해 필요한 정보들임) wait시스템 콜로 자식의 exit tatus를 읽으면 좀비는 없어짐... 좀비/고아 프로세스는 init process(PID 1)이 주기적으로 관리 I.. 2023. 3. 31.
Process and Scheduling Process Concept OS는 다양한 프로그램을 실행한다. -배치 시스템 -interactive 시스템 process란 실행중인 프로그램이다. 프로세스는 OS가 자원을 할당하는 최소단위이고, 스레드는 프로세스 내에서의 독립적인 실행단위이다. 프로세스는 다음을 포함한다 1. Program(코드/텍스트): 프로그램 코드와 리터럴상수를 저장 2. data : 프로그램 실행 전체에 필요한 데이터를 저장. 전역변수, static 변수, symbolic constant(#define..), 문자열 상수 등을 저장 3. Stack : OS에 의해 관리됨(자동으로 할당,해제됨). 지역변수, 함수 등이 저장된다. 4. Heap : 프로그래머에 의해 관리됨. 메모리 누수가 일어날 수 있음. 동적할당한 객체, 변수등이.. 2023. 3. 16.
Storage Structure/Multiprogramming/Multitasking/process/memory/file Storage Structure 메인 메모리 - CPU가 직접 접근 가능한 저장장치. 전원 공급이 멈추면 내용이 휘발된다. (RAM 등) 보조 기억장치(Secondary strage) - 비휘발성. 메인메모리보다 느리지만 데이터를 영구적으로 저장가능.(HDD,SSD, USB 등) 자기 디스크(magnetic disk) - 대표적으로 하드디스크가 있음 전자식 디스크(Electronic disk) - 한 종류로 flash memory가 있음. 플래시메모리는 SSD, USB등이 있고, EEPROM과 유사하게 동작함. storage system은 다음과 같은 기준으로 정렬할 수 있다.. -속도 -비용 -크기 -휘발성 strage system 계층에서 위로갈수록 용량당 가격이 비싸고 빠르다. 캐싱 - 아래 계층의.. 2023. 3. 13.
Computer System Organization(Bus, Interrupt) 하나 혹은 여러개의 CPU, device controller들은 공유 메모리에 접근가능한 common bus에 연결됩니다 CPU와 devices 들이 동시에 실행된 경우 메모리 사이클을 위해 경쟁하게 됩니다. (BUS를 사용하기 위한 경쟁.) Bus Bus는 3개의 버스로 이루어져 있습니다. -address bus :주소를 옮기는 버스 -data bus :데이터를 옮기는 버스 -control bus :데이터를 쓸건지 가져올건지 등의 조작을 전달하는 버스 (참고: 32bit 아키텍쳐 등을 이야기할 때 32비트는 한번에 처리할 수 있는 데이터의 양, register의 크기, bus의 크기가 모두 32bit라는것임. 합쳐서 32비트가 아니라 각각이 32비트.. address bus가 32bit면 2^32개의 .. 2023. 3. 9.
Operating System 운영체제란 무엇인가? 유저와 컴퓨터 하드웨어 사이에 있는 프로그램. 운영체제 시스템의 목표는 다음과 같다 -일반유저 관점: 프로그램 실행, 문제해결을 쉽게 하게 해줌 -시스템 관점: 자원관리(cpu,메모리,스토리지), 프로그램 제어 -편리성(convenience)과 효율성(efficiency). (ex: windows의 GUI는 편리성을 줌) 운영체제의 편리성과 효율성은 대개 trade-off 관계이다. 컴퓨터 시스템은 네 가지 요소로 구성됨. -하드웨어: CPU,memory, I/O devices(스토리지 등) -운영체제: (여러 응용프로그램 또는 유저들의 H.W 사용요청이 있을 때 자원관리를 함) -응용프로그램 -유저 운영체제는 자원 할당자임. 물리, 추상화된 자원을 모두 다 관리함. Physical.. 2023. 3. 7.
728x90
반응형