본문 바로가기
반응형

IT188

[운영체제] 스레드 Thread란? 프로세스 내부의 cpu 수행 단위가 여러개인 경우 한 단위 프로세스가 하나 주어지면 주소공간이 프로세스별로 생성이 된다. 이를 관리하기 위해서 운영체제 내부의 pcb를 두고 있다. 이때 메모리를 효율적으로 사용하기 위해 스레드를 사용하면 프로그램 카운터만 여러개두고 나머지는 공유해 공간을 아낄수 있다. - Thread 구성: program counter + register set + stack space - 스레드가 동료 스레드와 공유하는 부분: code section + data section + OS resources 프로세스안에 여러개의 쓰레드를 두는게 더 가볍다 다중 스레드 장점 하나의 서버 스레드가 blocked 상태인 동안에도 동일한 태스크 내의 다른 스레드가 실행되어 빠른 처.. 2023. 1. 27.
[IT 인프라] 스토리지 & RAID 스토리지: 컴퓨터에서 데이터를 비휘발성으로 저장할 수 있는 저장장치 RAID: 여러 개의 저장장치를 묶어서 하나의 디스크처럼 사용 - 안정성, 속도, 가용성 증대 ※ Array Controller: RAID 구성을 도와준다 RAID 종류 ※ 가용성과 용량을 집중적으로 파악하기 RAID 0 - 스트라이핑 기술을 이용해 데이터 세그먼트들을 여러 디스크 디바이스로 분산 기록하는 기술을 이용하여 저장하는 방법 - 하나 폴트 나더라도 데이터 전체를 잃어버려 실무에서 사용 x - 용량 300+300=600 ※ 데이터 세그먼트: 데이터 저장할 때 작은 조각으로 쪼개서 저장 RAID 1: 낮은 가용성을 미러링을 이용해 보완 - 세그먼트를 복제해 저장해 데이터 유실 x, 데이터 복사할 용량 필요 - 용량 300+300=.. 2023. 1. 27.
[IT 인프라] IT 인프라 네트워크 지식 네트워킹: 인터넷으로 연결되는 세상 네트워크를 통해 장비들은 서로 통신할 수 있고 우리는 정보와 자원을 공유할 수 있다 OSI 7계층 - 네트워크 프로토콜이 통신하는 구조를 7계층으로 분리해 계층 간 상호 작동하는 방식을 정해 놓은 것 - 신뢰성 있고 원활한 통신을 수행하기 위해 모든 장비들이 지켜야 하는 통신 규약 - 없다면? 참조할 모델이 없어 각자 방식대로 개발, 자사 간의 연결만 지원, 타사 간 호환이 안 됨 계층 계층별 요소 Application Protocols Standards Software Presentation Session Transport Network Router, Multi-Layer Switch Data Link Bridge, L2 Switch Physical Cable, Co.. 2023. 1. 27.
[ IT 인프라] IT 인프라 유형과 서버 구성요소 인프라를 알아야 하는 이유 서비스를 개발하기 위해서는 사용자들이 이용할 수 있도록 개발해야하는데 두가지의 요구사항이 필요함 기능적 요구사항 비기능적 요구사항(품질, 속성) 시스템이 수행해야하는 기능 제품 요구사항 기술 세부정보 조직 요구사항 데이터 조작 및 처리 외부 요구사항(법률, 윤리) 비기능적 요구사항은 인프라에서 검증이 필요함 IT 인프라 구성요소 IT 서비스의 기반이 되는 구성 요소들의 집합 IT 인프라 구성요소 하드웨어 장비를 설치하기 위한 데이터센터 및 데이터센터 운영을 위해 필요한 냉각시설 뿐만 아니라 서버, 스위치, 라우터등이 하드웨어에 포함됩니다. 소프트웨어 os를 포함하여 그 위에 올라가는 아파치 같은 웹서비스, 미들웨어 등이 소프트웨어에 포함됩니다. 네트워크 물리 단인 케이블, 스위.. 2023. 1. 27.
[운영체제] 프로세스 프로세스의 문맥 1. cpu 수행 상태를 나타내는 하드웨어 문맥 2. 프로세스의 주소 공간 - code, data, stack 3. 프로세스 관련 커널 자료 구조 - pcb - kernel stack ※ 커널스택을 프로세스별로 별도로 두고 있다. PCB(Process Control Block): 운영체제가 각 프로세스를 관리하기 위해 프로세스당 유지하는 정보 (1) os가 관리상 사용하는 정보 (2) cpu 수행 관련 하드웨어 값 (3) 메모리 관련 (4) 파일 관련 프로세스 상태 1. Running: cpu 잡고 instruction 수행 중인 상태 2. Ready: cpu 기다리는 상태 3. Blocked: cpu 주어도 당장 instruction을 수행할 수 없는 상태 - process 자신이 요청.. 2023. 1. 26.
[운영체제] 입출력 & 프로그램의 실행 동기식 입출력: 입출력 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감 ● 구현방법 1: cpu 가지고 있으면서 기다리기 - 입출력 끝날 때까지 cpu 낭비시킴 - 매시점 하나의 입출력만 일어날 수 있음 ● 구현 방법 2: cpu 다른 프로세스한테 넘겨주기 - 입출력이 완료될 때까지 해당 프로그램에게서 cpu를 빼앗음 - 입출력 처리를 기다리는 줄에 그 프로그램을 줄 세움 - 다른 프로그램에게 cpu를 줌 비동기식 입출력: 입출력이 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감 정리 프로세스가 입출력동안에 인스터럭션 실행 안하고 기다리면 동기이고 입출력을 요청하고 입출력 이전에 인스터럭션 바로 실행하면 비동기다 저장장치 계층 구조 ● 위로갈수록.. 2023. 1. 26.
[운영체제] 시스템 구조 시스템 구조 CPU: - CPU스케줄링: CPU 큐에 기다리고있을때 어떤 프로그램에게 CPU 사용권을 줄까 - 작업할때 필요한 용량 메모리에 올려놓고 사용 - 메모리에서 인스터럭션 읽어서 실행 - cpu안에 register, mode bit(v프로그램 구분) 존재 ※ mode bit: 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록하기위한 보호장치 - 0 모니터모드: 커널모드 운영체제 수행 - 1 사용자모드: 사용자 프로그램 수행 - 중요한 명령은 모니터모드에서만 가능 - 인터럽트 발생시 하드웨어가 모드빗 0으로 바꿈 - 사용자 프로그램에 cpu넘기기전에 모드빗 1로 셋팅 - 제한된 지시만 실행가능 메모리: cpu 작업공간, cpu만 접근 가능 - 한정된 메모리를 어떻게.. 2023. 1. 26.
[운영체제] 운영체제 기초 운영체제: 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층, 하드웨어를 관리 목적 1. 컴퓨터 자원 효율적으로 관리 (1) 주어진 자원 최대한의 성능을 내도록 ->효율성 (2) 특정 사용자/프로그램의 지나친 불이익이 발생하지 않도록 ->형평성 2. 편리하게 사용할 수 있는 환경을 제공 분류 1. 단일 작업: 한 번에 하나의 작업만 처리 2. 다중작업(multi tasking): 동시의 두 개 이상의 작업 처리 3. 실시간: 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 실시간 시스템을 위한 os, 데드라인 o 처리방식 1. 일괄처리(batch processing): 작업 요청을 일정량 모아서 한꺼번에 처리, 작업 종료될 때까지 기다려야함 2. 시분할: 여러 작업을 수행할 때 컴퓨터 처.. 2023. 1. 25.
[파이썬] 파이썬 기본 문법 파이썬 기본 문법을 짚고 넘어가겠습니다. 값 교환 # 값 교환 a,b=10,20 a,b=b,a 변수타입 확인 #변수타입 확인 a=123456789123456789123 type(a) 문자 출력 설정 a,b,c=1,2,3 print(a,b,c, sep=', ') print(a,b,c, sep='\n') 변수 입력 받기 #수 하나 입력 a=input('숫자를 입력하세요 : ') print(a) #문자 두 단어 입력 a,b=input('숫자를 입력하세요 : ').split() print(a,b) #수 두 개 입력 a,b=map(int,input('숫자를 입력하세요 : ').split()) 대문자,소문자 변환 string='it is time' #변수에 저장해야함 print(string.upper()) prin.. 2023. 1. 23.
728x90